Tom Lane wrote: > Heikki Linnakangas <[EMAIL PROTECTED]> writes: > > We wouldn't clean up tuples that are visible to a transaction, but if > > you have one long-running transaction like pg_dump in a database with > > otherwise short transaction, you'll have a lot of tuples that are not > > vacuumable because of the long-running process, but are not in fact > > visible to any transaction. > > It sounds to me like you are proposing to remove the middles of update > chains, which would break READ-COMMITTED updates initiated by the older > transactions. Now admittedly pg_dump isn't going to issue any such > updates, but VACUUM doesn't know that.
Since a multi-statement transaction can't change its transaction isolation level after its first statement, would adding a boolean to PGPROC help VACUUM be more aggressive about removing rows? I am thinking something like PGPROC.cannot_be_serializable. -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly