Re: Partial vacuum versus pg_class.reltuples - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Partial vacuum versus pg_class.reltuples
Date
Msg-id 29485.1244326699@sss.pgh.pa.us
Whole thread Raw
In response to Partial vacuum versus pg_class.reltuples  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Partial vacuum versus pg_class.reltuples
List pgsql-hackers
I wrote:
> Another interesting question is why successive vacuums aren't causing
> the index reltuples counts to go to zero.  Shouldn't a partial vacuum
> result in *all* pages of the relation being marked as not needing to
> be examined by the next vacuum?

I figured out the reason for that: the first 32 pages of the table are
always scanned, even if the whole thing is frozen, because of the
SKIP_PAGES_THRESHOLD logic.  We could change that behavior by
initializing all_visible_streak to SKIP_PAGES_THRESHOLD instead of zero.
But if we did so then having even just page zero be skippable would mean
that we clear scanned_all and thus fail to update reltuples, which is
probably not a good thing.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Markus Wanner
Date:
Subject: Re: PostgreSQL Developer meeting minutes up
Next
From: Markus Wanner
Date:
Subject: Re: PostgreSQL Developer meeting minutes up