"John Lister" <john.lister...@kickstone.com> writes: > Hi, I'm running 8.3.9 on ubuntu with autovacuum enabled and seemingly > working properly., however I've started getting messages saying that I'm near > the transaction limit and I need to do a database wide vacuum, which I've > started. > From reading the docs, though I thought that autovacuum would do this on my > behalf, is this true?
It's supposed to. Did you look around to see if AV was trying to do anything? It's possible you got bit by this recently-fixed bug, which caused any large-scale autovacuum operation to take unreasonably long to complete: Author: Tom Lane <t...@sss.pgh.pa.us> Branch: master [b58c25055] 2010-11-19 22:28:20 -0500 Branch: REL9_0_STABLE Release: REL9_0_2 [b5efc0940] 2010-11-19 22:28:25 -0500 Branch: REL8_4_STABLE Release: REL8_4_6 [fab2af30d] 2010-11-19 22:28:30 -0500 Branch: REL8_3_STABLE Release: REL8_3_13 [6cb9d5113] 2010-11-19 22:28:35 -0500 Fix leakage of cost_limit when multiple autovacuum workers are active. When using default autovacuum_vac_cost_limit, autovac_balance_cost relied on VacuumCostLimit to contain the correct global value ... but after the first time through in a particular worker process, it didn't, because we'd trashed it in previous iterations. Depending on the state of other autovac workers, this could result in a steady reduction of the effective cost_limit setting as a particular worker processed more and more tables, causing it to go slower and slower. Spotted by Simon Poole (bug #5759). Fix by saving and restoring the GUC variables in the loop in do_autovacuum. In passing, improve a few comments. Back-patch to 8.3 ... the cost rebalancing code has been buggy since it was put in. regards, tom lane -- Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin