"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

Reply via email to