Tom Lane wrote:

> I see a workaround though: it *is* OK for VACUUM FREEZE to set datminxid
> = FrozenXid if (1) it's been able to freeze all the tables and (2) it's
> running in a standalone backend.  This rule would let us freeze
> template0 during initdb.
> There's still a question of where/when to worry about marking a database
> unfrozen.  Perhaps a suitably cheap, conservative approximation would be
> to cause any new connection to a frozen database to immediately mark it
> unfrozen in pg_database.  (I'm not sure if this works conveniently for
> initdb's processing though --- we might want to fudge a bit depending on
> whether we're running standalone.)

initdb never connects to template0, so I think it should work.  We just
need to add an additional step to initdb to run the vacuum freeze.

What do you think of making vacuum a no-op on a table that has datminxid
= FrozenXid?

Alvaro Herrera                      
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?


Reply via email to