Hi, On 2025-03-03 17:44:54 +0100, Álvaro Herrera wrote: > On 2025-Mar-03, Melanie Plageman wrote: > > > 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. > > I'm confused about this. Why was the new value added to pg_class > instead of to the pgstat system? I don't think relallvisible is a good > precedent, because as you write here, that one is used for planning, > which has different requirements. For vacuuming metrics we rely on > pgstat.
We do so because updating the other stats would cause too much churn - the number of dead tuples etc changes rather rapidly. That's not the case here. Having reliable information after a crash (where we loose pgstats) that 95% of the table is actually frozen, rather than not seems good. Greetings, Andres Freund