Excerpts from Robert Haas's message of vie nov 11 12:29:42 -0300 2011:
> On Fri, Nov 11, 2011 at 9:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > In another thread, Alvaro quoted from the manual:
> >> If for some reason autovacuum fails to clear old XIDs from a table, the
> >> system will begin to emit warning messages like this when the database's oldest
> >> XIDs reach ten million transactions from the wraparound point:
> >
> >> WARNING: database "mydb" must be vacuumed within 177009986 transactions
> >> HINT: To avoid a database shutdown, execute a database-wide VACUUM in "mydb".
> >
> >> (A manual VACUUM should fix the problem, as suggested by the hint; but
> >> note that the VACUUM must be performed by a superuser, else it will fail to
> >> process system catalogs and thus not be able to advance the database's
> >> datfrozenxid.)
> >
> > It occurs to me to wonder how this scenario will interact with the
> > recent changes to let VACUUM skip pages. AFAIR there is not a way for a
> > manual VACUUM to set the anti-wraparound mode, is there?
>
> I tweaked Simon's original patch to address exactly this scenario;
> VACUUM FREEZE prevents page-skipping behavior.
Hmm, so should the manual suggest using VACUUM FREEZE?
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support