2010/12/30 JotaComm
<jota.comm@gmail.com> Hello,
Last week I had a serious problem with my PostgreSQL database. My autovacuum is OFF, but in September it started to prevent the transaction wraparoud; however last week the following message appeared continuously in my log:
WARNING: database "production" must be vacuumed within 4827083 transactions
HINT: To avoid a database shutdown, execute a full-database VACUUM in "production".
This message appeared for five to six hours; after that, the message disappeared from log. Any idea about what could have happened?
probably another "wraparaund-forced" autovacuum worker did the job, so the warnings disappeared
Every day the vacuum is executed on some tables; and on Sundays it's executed on all tables. But as the autovacuum is running since September, and it runs for a long time, the vacuum was blocked because autovacuum had been running on the same table. How should I procede in this case?
hmm. single vacuum process runs for more than 3 months on a table with 1000000000 rows?
this is ... less than 128 rows/second, not good.
I would rather terminate this old process, and start a VACUUM VERBOSE when the database is less loaded.
How many INS/UPD/DEL you have on this table?
PS. When you fix this, enable autovacuum, to avoid more problems...