Summary
The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.
(Description quoted from the official PostgreSQL documentation.)
Columns
The pg_statio_all_tables statistics view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):
relidoid
OID of a tableschemanamename
Name of the schema that this table is inrelnamename
Name of this tableheap_blks_readbigint
Number of disk blocks read from this tableheap_blks_hitbigint
Number of buffer hits in this tableidx_blks_readbigint
Number of disk blocks read from all indexes on this tableidx_blks_hitbigint
Number of buffer hits in all indexes on this tabletoast_blks_readbigint
Number of disk blocks read from this table’s TOAST table (if any)toast_blks_hitbigint
Number of buffer hits in this table’s TOAST table (if any)tidx_blks_readbigint
Number of disk blocks read from this table’s TOAST table indexes (if any)tidx_blks_hitbigint
Number of buffer hits in this table’s TOAST table indexes (if any)stats_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_statio_all_tables.