Re: Setting visibility map in VACUUM's second phase - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Setting visibility map in VACUUM's second phase
Date
Msg-id 7343.1354820259@sss.pgh.pa.us
Whole thread Raw
In response to Re: Setting visibility map in VACUUM's second phase  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> One other thought: I'm wondering if we shouldn't try to push the work
> of setting the all-visible bit into heap_page_prune().

Hm, maybe ...

>  But it seems to me that a page can't be all-visible unless there are
> no dead line pointers and no HOT chains of length != 1, and
> heap_prune_chain() does manage to call HeapTupleSatisfiesVacuum() for
> every tuple, so the raw information seems like it is available without
> any additional CLOG lookups.

HeapTupleSatisfiesVacuum is interested in whether a dead tuple is dead
to everybody, but I don't think it figures out whether a live tuple is
live to everybody.  On the assumption that most tuples are live, adding
the latter calculation might represent significant expense.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Fix for pg_upgrade status display
Next
From: Tom Lane
Date:
Subject: Re: How to check whether the row was modified by this transaction before?