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

Reply via email to