Re: postgres 8.2.9 transaction id wraparound failure - Mailing list pgsql-admin

From Maria L. Wilson
Subject Re: postgres 8.2.9 transaction id wraparound failure
Date
Msg-id 49ECC24B.5090009@nasa.gov
Whole thread Raw
In response to Re: postgres 8.2.9 transaction id wraparound failure  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: postgres 8.2.9 transaction id wraparound failure
Re: postgres 8.2.9 transaction id wraparound failure
Re: postgres 8.2.9 transaction id wraparound failure
List pgsql-admin
ouch!!  ok - this may take me all week!
i'm opening each database when I start up the server ( postgres --single
-D /data/pg_devices /database1/ )
i run the vacuum - just a plain old vacuum - nothing else...
i am getting output like this with each vacuum...

backend> [postgres@n116 ~]$ postgres --single -D /data/pg_devices n015ecs
vacuum;
  2009-04-20 14:40:02.015 EDT  [10171] [] WARNING:  database "postgres"
must be vacuumed within 981142 transactions
  2009-04-20 14:40:02.015 EDT  [10171] [] HINT:  To avoid a database
shutdown, execute a full-database VACUUM in "postgres".
  2009-04-20 14:40:02.053 EDT  [10171] [] WARNING:  database "postgres"
must be vacuumed within 981142 transactions
 2009-04-20 14:40:02.603 EDT  [10171] [] HINT:  To avoid a database
shutdown, execute a full-database VACUUM in "postgres".
  2009-04-20 14:40:02.603 EDT  [10171] [] WARNING:  oldest xmin is far
in the past
  2009-04-20 14:40:02.603 EDT  [10171] [] HINT:  Close open transactions
soon to avoid wraparound problems.
  2009-04-20 14:40:02.671 EDT  [10171] [] WARNING:  database "postgres"
must be vacuumed within 981131 transactions

it finishes - i then control -D to stop the server and start up with the
next database.

Alvaro Herrera wrote:
> Maria L. Wilson wrote:
>
>> I tried just vacuuming the "postgres" database first.  No luck.  Was
>> still unable to startup the server normally.
>>
>
> Did the vacuum actually work?  Note that you need to open the database
> you're going to vacuum, on the --single command line.
>
>
>> Here's is a snipped from the query you suggested....  All the databases
>> on this machine look similar.....
>>
>
> So you'll need to vacuum them all ...
>
>
>> backend> SELECT datname, age(datfrozenxid) FROM pg_database ORDER BY
>> age(datfrozenxid) DESC
>>  2009-04-20 14:27:52.250 EDT  [10097] [] WARNING:  database "postgres"
>> must be vacuumed within 981218 transactions
>>  2009-04-20 14:27:52.250 EDT  [10097] [] HINT:  To avoid a database
>> shutdown, execute a full-database VACUUM in "postgres".
>>     1: datname    (typeid = 19, len = 64, typmod = -1, byval = f)
>>     2: age    (typeid = 23, len = 4, typmod = -1, byval = t)
>>    ----
>>     1: datname = "postgres"    (typeid = 19, len = 64, typmod = -1,
>> byval = f)
>>     2: age = "2146502429"    (typeid = 23, len = 4, typmod = -1, byval = t)
>>    ----
>>     1: datname = "ange"    (typeid = 19, len = 64, typmod = -1, byval = f)
>>     2: age = "2146502429"    (typeid = 23, len = 4, typmod = -1, byval = t)
>>    ----
>>
>
> My guess is that autovacuum is failing to vacuum anything for some
> reason.  Maybe it's dying due to an error, which you'd find in the
> server log file.
>
>

pgsql-admin by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: postgres 8.2.9 transaction id wraparound failure
Next
From: Jaime Casanova
Date:
Subject: Re: postgres 8.2.9 transaction id wraparound failure