Add relallfrozen to pg_class Add relallfrozen, an estimate of the number of pages marked all-frozen in the visibility map.
pg_class already has relallvisible, an estimate of the number of pages in the relation marked all-visible in the visibility map. This is used primarily for planning. relallfrozen, together with relallvisible, is useful for estimating the outstanding number of all-visible but not all-frozen pages in the relation for the purposes of scheduling manual VACUUMs and tuning vacuum freeze parameters. A future commit will use relallfrozen to trigger more frequent vacuums on insert-focused workloads with significant volume of frozen data. Bump catalog version Author: Melanie Plageman <melanieplage...@gmail.com> Reviewed-by: Nathan Bossart <nathandboss...@gmail.com> Reviewed-by: Robert Treat <r...@xzilla.net> Reviewed-by: Corey Huinker <corey.huin...@gmail.com> Reviewed-by: Greg Sabino Mullane <htamf...@gmail.com> Discussion: https://postgr.es/m/flat/CAAKRu_aj-P7YyBz_cPNwztz6ohP%2BvWis%3Diz3YcomkB3NpYA--w%40mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/99f8f3fbbc8f743290844e8c676d39dad11c5d5d Modified Files -------------- doc/src/sgml/catalogs.sgml | 20 ++++++ src/backend/access/heap/vacuumlazy.c | 18 ++++-- src/backend/catalog/heap.c | 2 + src/backend/catalog/index.c | 12 +++- src/backend/commands/analyze.c | 12 ++-- src/backend/commands/cluster.c | 5 ++ src/backend/commands/vacuum.c | 6 ++ src/backend/statistics/relation_stats.c | 29 +++++++-- src/backend/utils/cache/relcache.c | 2 + src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_class.h | 3 + src/include/commands/vacuum.h | 1 + src/test/regress/expected/stats_import.out | 99 +++++++++++++++++++----------- src/test/regress/sql/stats_import.sql | 49 ++++++++++----- 14 files changed, 190 insertions(+), 70 deletions(-)