2010/12/30 JotaComm <jota.c...@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...