On Tue, 2005-11-15 at 21:58 -0300, Alvaro Herrera wrote:
> In fact there's no problem because in D, just like in template1, all
> tuples are frozen.  How should we mark this on the catalogs?  I don't
> see any way.

All tuples might be frozen or might not be, the point is you don't know.
That's why you can't use FrozenTransactionId.

> > Perhaps we should reinstate VACUUM FULL FREEZE to do just a FREEZE with
> > a table lock and skip all that moving data around.
> Doesn't work either because of the argument above.
> What about assuming that if somebody executes a database-wide FREEZE, he
> knows what he is doing and thus we can mark datminxid as
> FrozenTransactionId?

If you lock the table before FREEZE then you will guarantee that all
rows will be frozen and you really can then set FrozenTransactionId.

Making VACUUM FREEZE take full table locks seems like a very useful
thing to me, and it would solve your problems also.

Best Regards, Simon Riggs

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not

Reply via email to