Re: CLUSTER and MVCC - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: CLUSTER and MVCC
Date
Msg-id 45F18E16.9070001@enterprisedb.com
Whole thread Raw
In response to Re: CLUSTER and MVCC  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Heikki Linnakangas <heikki@enterprisedb.com> 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.

I was thinking of inserts+deletes. Updates are harder, you'd need to 
change the ctid of the old version to skip the middle part of the chain, 
atomically, but I suppose they could be handled as well.

Isolation level doesn't really matter. We just need a global view of 
in-use *snapshots* in the system, serializable or not. Not that that's 
an easy thing to do...

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: CLUSTER and MVCC
Next
From: "Florian G. Pflug"
Date:
Subject: Re: CLUSTER and MVCC