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

From Tom Lane
Subject Re: Bug in VACUUM FULL ?
Date
Msg-id 5248.1173487781@sss.pgh.pa.us
Whole thread Raw
In response to Re: Bug in VACUUM FULL ?  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: Bug in VACUUM FULL ?  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-hackers
Gregory Stark <stark@enterprisedb.com> writes:
> So txn 4's xmin is txn 3, leaving the global OldestXmin = txn 3 which lies
> between txn 1 and txn 2.

> And the tuple chain consists of two tuples. The original which has xmax
> younger than OldestXmin and so is RECENTLY_DEAD. And the updated tuple which
> has xmax older than OldestXmin and so is DEAD even though it has xmin younger
> than OldestXmin.

Right.

> Hm, I wonder if you could just notice that xmin is younger than OldestXmin. 

You can see that at the newer tuple, but the problem is to propagate the
knowledge back to the older tuple(s).  Or were you suggesting that we
treat the newer tuple as RECENTLY_DEAD instead of DEAD?  That seems a
step backwards in space-reclamation ability.  It'd be hard to implement
in any case, because one of the problem cases is where VACUUM has
already recycled the DEAD tuple before visiting the RECENTLY_DEAD tuple
that chains to it.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Gregory Stark
Date:
Subject: Re: Bug in VACUUM FULL ?
Next
From: "Matthew T. O'Connor"
Date:
Subject: Re: autovacuum next steps, take 3