Hello,
Does anyone which is a more accurate estimate of a table's live rows: pg_class.reltuples (http://www.postgresql.org/docs/current/static/catalog-pg-class.html) OR pg_stat_all_tables.n_live_tup (http://www.postgresql.org/docs/current/static/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW)? In my test database their values are not the same.
- Is pg_class.reltuples an estimation of live tuples only, or is it of all tuples (both live and dead)? I would guess it's live only but that is a guess
- In the database I am testing:
- pg_class.reltuples <> pg_stat_all_tables.n_live_tup
- pg_class.reltuples <> (pg_stat_all_tables.n_live_tup + pg_stat_all_tables.n_dead_tup)
I understand that pg_stat_all_tables is probably the more expensive view to query but I am already querying both so I only care which is more accurate.
Thanks!
Will
Will J. Dunn