The serializable transaction *can't* see those rows, they were created and obsoleted after the start of the transaction. The point of make the transaction serializable in the first place was to allow VACUUM to reclaim those rows.

Alvaro Herrera wrote:
Joseph S wrote:
I realize this thread is old, but I just conducted an experiment with pg 8.0.10 and a transaction with a SERIALIZABLE isolation level does prevent VACUUM from reclaiming rows that were created and then obsoleted in a subsequent transaction.

Right.  This is expected.  VACUUM cannot remove them because the
serializable transaction might still want to see those rows.  (I am
assuming the serializable transaction is still running when the vacuum
starts.  If that's not the case, please explain better).



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to