Summary
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.
(Description quoted from the official PostgreSQL documentation.)
Columns
The pg_stat_all_indexes statistics view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):
relidoid
OID of the table for this indexindexrelidoid
OID of this indexschemanamename
Name of the schema this index is inrelnamename
Name of the table for this indexindexrelnamename
Name of this indexidx_scanbigint
Number of index scans initiated on this indexlast_idx_scantimestamp with time zone
The time of the last scan on this index, based on the most recent transaction stop timeidx_tup_readbigint
Number of index entries returned by scans on this indexidx_tup_fetchbigint
Number of live table rows fetched by simple index scans using this indexstats_resettimestamp with time zone
Time at which these statistics were last reset
Version applicability
Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.
Related & references
Reference: PostgreSQL documentation — pg_stat_all_indexes.