Re: Bug in VACUUM FULL ? - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: Bug in VACUUM FULL ?
Date
Msg-id 871wjx0wrp.fsf@stark.xeocode.com
Whole thread Raw
In response to Re: Bug in VACUUM FULL ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
"Tom Lane" <tgl@sss.pgh.pa.us> writes:

> [ raised eyebrow... ] You sure about that?  If you replace an XID
> before OldestXmin with one after, or vice versa, ISTM you *could*
> be creating a problem.  "Committed" is not good enough.  So it looks
> to me like you can't remove a DEAD tuple whose predecessor is only
> RECENTLY_DEAD.

Except you're replacing it with the xmax of a tuple that while you can't prove
it using OldestXmin you're convinced is in fact really DEAD. So everyone
should be able to see the txn id you're substituting.

It seems safer to remove all the tuples you think are DEAD rather than leave
them and have hidden assumptions that you're right. It would be far easier to
test that you're not removing tuples that aren't dead than that you aren't
breaking the chain or substituting a live xmin in cases where it might matter.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: "Pavan Deolasee"
Date:
Subject: Re: Bug in VACUUM FULL ?
Next
From: "Pavel Stehule"
Date:
Subject: Re: what can be wrong? backport plpgpsm to 8.1