pg_statio_all_tables — PostgreSQL statistics view

The PostgreSQL pg_statio_all_tables statistics view: full column reference (names, types, descriptions), catalog relationships and version support.

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):

  • relid oid
    OID of a table
  • schemaname name
    Name of the schema that this table is in
  • relname name
    Name of this table
  • heap_blks_read bigint
    Number of disk blocks read from this table
  • heap_blks_hit bigint
    Number of buffer hits in this table
  • idx_blks_read bigint
    Number of disk blocks read from all indexes on this table
  • idx_blks_hit bigint
    Number of buffer hits in all indexes on this table
  • toast_blks_read bigint
    Number of disk blocks read from this table’s TOAST table (if any)
  • toast_blks_hit bigint
    Number of buffer hits in this table’s TOAST table (if any)
  • tidx_blks_read bigint
    Number of disk blocks read from this table’s TOAST table indexes (if any)
  • tidx_blks_hit bigint
    Number of buffer hits in this table’s TOAST table indexes (if any)
  • stats_reset timestamp 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.