Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > As of 8.4, the typical case is that an open transaction blocks > deletion of rows that were deleted since the transaction's current > *statement* started. So this makes a huge difference if you have > long-running transactions that consist of a series of not-so-long > statements. It also means that transactions that sit "idle in > transaction" are not a hazard for VACUUM anymore --- an idle > transaction doesn't block deletion of anything. Surely the original version of a row updated or deleted by the long-running transaction must be left until the long-running transaction completes; otherwise, how does ROLLBACK work? (The OP did mention that there were a large number of updates and deletes being performed by the long-running transaction....) -Kevin -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance