Re: pgsql: Add relallfrozen to pg_class - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Add relallfrozen to pg_class
Date
Msg-id spdyfkaiav3uzq6qpfiezhqav2x7sqen5i74da2uittljo3z56@br2kogkjyvej
Whole thread Raw
In response to Re: pgsql: Add relallfrozen to pg_class  (Álvaro Herrera <alvherre@alvh.no-ip.org>)
List pgsql-committers
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



pgsql-committers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: pgsql: Add relallfrozen to pg_class
Next
From: Melanie Plageman
Date:
Subject: Re: pgsql: Add relallfrozen to pg_class