Re: XMAX weirdness (was: Plans for solving the VACUUM problem) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: XMAX weirdness (was: Plans for solving the VACUUM problem)
Date
Msg-id 16444.990645134@sss.pgh.pa.us
Whole thread Raw
In response to XMAX weirdness (was: Plans for solving the VACUUM problem)  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
Hannu Krosing <hannu@tm.ee> writes:
> but then no xmax should ever be visible in a regular query :

Not so.  For example, if a transaction tried to delete a tuple, but is
either still open or rolled back, then other transactions would see its
XID in the tuple's xmax.  Also, SELECT FOR UPDATE uses xmax to record
the XID of the transaction that has the tuple locked --- that's the
case you are seeing, because of the SELECT FOR UPDATE done by the
foreign-key triggers on the table.

There is a claim in the current documentation that xmax is never nonzero
in a visible tuple, but that's incorrect ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: ADD/DROP CONSTRAINT and inheritance
Next
From: Tom Lane
Date:
Subject: Re: select ... for update and inheritence