PostgreSQL 19 ← 18
STATISTICS VIEW · Statistics view
pg_stat_all_indexes
The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively. Indexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.
Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗
Columns PostgreSQL 18
pg_stat_all_indexes| COLUMN | TYPE | DESCRIPTION |
|---|---|---|
relid |
oid |
OID of the table for this index |
indexrelid |
oid |
OID of this index |
schemaname |
name |
Name of the schema this index is in |
relname |
name |
Name of the table for this index |
indexrelname |
name |
Name of this index |
idx_scan |
bigint |
Number of index scans initiated on this index |
last_idx_scan |
timestamp with time zone |
The time of the last scan on this index, based on the most recent transaction stop time |
idx_tup_read |
bigint |
Number of index entries returned by scans on this index |
idx_tup_fetch |
bigint |
Number of live table rows fetched by simple index scans using this index |
Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.
Common system columns 0
System attributes PostgreSQL provides, normally not expanded by SELECT *. Kept separately so they are not mixed in with ordinary columns.
| Columns | Type | attnum |
|---|
Column evolution matrix
Hover a cell for the column type9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.
Evolution timeline
Changes between adjacent majorsPostgreSQL 16 ← 15
PostgreSQL 13 ← 12
PostgreSQL 12 ← 11
PostgreSQL 10 ← 9.6
PostgreSQL 9.6 ← 9.5
PostgreSQL 9.5 ← 9.4
PostgreSQL 9.4 ← 9.3
PostgreSQL 9.2 ← 9.1
Compare any two versions
Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.