Skip to content
← Catalog atlas / pg_stat_sys_tables

STATISTICS VIEW · Statistics view

pg_stat_sys_tables

Same as pg_stat_all_tables, except that only system tables are shown.

First seen PG 9.0Last seen PG 19Columns 30

Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗

Columns PostgreSQL 18

pg_stat_sys_tables
COLUMNTYPEDESCRIPTION
relid oid OID of a table
schemaname name Name of the schema that this table is in
relname name Name of this table
seq_scan bigint Number of sequential scans initiated on this table
last_seq_scan timestamp with time zone The time of the last sequential scan on this table, based on the most recent transaction stop time
seq_tup_read bigint Number of live rows fetched by sequential scans
idx_scan bigint Number of index scans initiated on this table
last_idx_scan timestamp with time zone The time of the last index scan on this table, based on the most recent transaction stop time
idx_tup_fetch bigint Number of live rows fetched by index scans
n_tup_ins bigint Total number of rows inserted
n_tup_upd bigint Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)
n_tup_del bigint Total number of rows deleted
n_tup_hot_upd bigint Number of rows HOT updated. These are updates where no successor versions are required in indexes.
n_tup_newpage_upd bigint Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.
n_live_tup bigint Estimated number of live rows
n_dead_tup bigint Estimated number of dead rows
n_mod_since_analyze bigint Estimated number of rows modified since this table was last analyzed
n_ins_since_vacuum bigint Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)
last_vacuum timestamp with time zone Last time at which this table was manually vacuumed (not counting VACUUM FULL)
last_autovacuum timestamp with time zone Last time at which this table was vacuumed by the autovacuum daemon
last_analyze timestamp with time zone Last time at which this table was manually analyzed
last_autoanalyze timestamp with time zone Last time at which this table was analyzed by the autovacuum daemon
vacuum_count bigint Number of times this table has been manually vacuumed (not counting VACUUM FULL)
autovacuum_count bigint Number of times this table has been vacuumed by the autovacuum daemon
analyze_count bigint Number of times this table has been manually analyzed
autoanalyze_count bigint Number of times this table has been analyzed by the autovacuum daemon
total_vacuum_time double precision Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)
total_autovacuum_time double precision Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)
total_analyze_time double precision Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)
total_autoanalyze_time double precision Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)

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.

Column evolution matrix

Hover a cell for the column type
PresentAdded / type or attribute changeRemoved
COLUMN9.09.19.29.39.49.59.610111213141516171819
relid
schemaname
relname
seq_scan
seq_tup_read
idx_scan
idx_tup_fetch
n_tup_ins
n_tup_upd
n_tup_del
n_tup_hot_upd
n_live_tup
n_dead_tup
last_vacuum
last_autovacuum
last_analyze
last_autoanalyze
vacuum_count
autovacuum_count
analyze_count
autoanalyze_count
n_mod_since_analyze
n_ins_since_vacuum
last_seq_scan
last_idx_scan
n_tup_newpage_upd
total_vacuum_time
total_autovacuum_time
total_analyze_time
total_autoanalyze_time
stats_reset

9.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 majors

PostgreSQL 19 ← 18

+ stats_reset

PostgreSQL 18 ← 17

+ total_vacuum_time+ total_autovacuum_time+ total_analyze_time+ total_autoanalyze_time1 column description updates

PostgreSQL 16 ← 15

+ last_seq_scan+ last_idx_scan+ n_tup_newpage_upd4 column description updates

PostgreSQL 13 ← 12

+ n_ins_since_vacuum

PostgreSQL 9.5 ← 9.4

1 column description updates

PostgreSQL 9.4 ← 9.3

+ n_mod_since_analyze

PostgreSQL 9.2 ← 9.1

2 column description updatesCatalog description updated

PostgreSQL 9.1 ← 9.0

+ vacuum_count+ autovacuum_count+ analyze_count+ autoanalyze_count

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.