Re: XMAX weirdness (was: Plans for solving the VACUUM problem)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Hannu Krosing <hannu@tm.ee>
Cc: pgsql-hackers@postgreSQL.org
Date: 2001-05-23T19:12:14Z
Lists: 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