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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers