Heikki Linnakangas wrote:
> Alvaro Herrera wrote:
> >However, given that Heikki just confirmed that CLUSTER does not freeze
> >tuples, it's not really possible to do this, so I'll drop the CLUSTER
> >patch for now.
> >
> >This means that people using CLUSTER to compact tables won't have the
> >benefit of advancing relfrozenxid, so they will have to run VACUUM on
> >those tables at some point anyway, even though there will be no dead
> >tuples :-(
>
> Now that I think this a bit more, I think CLUSTER should freeze the
> tuples. I was worried about losing valuable debug information by doing
> that, but thinking a bit more that's not a big concern: we wouldn't
> freeze tuples newer than recent xmin. The update chain logic is the most
> risky part of the code, and we wouldn't lose the xmin and xmax of tuples
> that are part of update chains.
>
> Patch attached. You'll need the changes to cluster.c to set the
> relfrozenid as well.
Thanks, committed. (I changed NULL for InvalidBuffer).
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support