Autovacuum running although set to off, and wraparound limit has not been reached

From: Paolo Saul <paolo(dot)saul(at)telogis(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Autovacuum running although set to off, and wraparound limit has not been reached
Date: 2010-12-15 23:07:20
Message-ID: AANLkTi=Ag_osMYpd=2Wij09uuBre0gaA3sLXCWbr8kvT@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

POSTGRESQL version 8.3.5
Centos5 x64

#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

autovacuum = off # Enable autovacuum subprocess?
'on'
# requires track_counts to also be
on.
#log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions
and
# their durations, > 0 logs only
# actions running at least that
time.
#autovacuum_max_workers = 3 # max number of autovacuum
subprocesses
#autovacuum_naptime = 1min # time between autovacuum runs
#autovacuum_vacuum_threshold = 50 # min number of row updates before
# vacuum
#autovacuum_analyze_threshold = 50 # min number of row updates before
# analyze
#autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before
vacuum
#autovacuum_analyze_scale_factor = 0.1 # fraction of table size before
analyze
autovacuum_freeze_max_age = 250000000 # maximum XID age before forced
vacuum
# (change requires restart)
#autovacuum_vacuum_cost_delay = 20 # default vacuum cost delay for
# autovacuum, -1 means use
# vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovacuum, -1 means use
# vacuum_cost_limit

Autovacuum is set to off, but we are still seeing these in pg_stat_activity:

autovacuum: VACUUM pg_catalog.pg_statistic
autovacuum: VACUUM {schemaX.tableY}
autovacuum: VACUUM {schemaA.TableB}

These do not have the "(to prevent TransactionID Wraparound)" comment in
them, so I am surprised to see these running with autovacuum set to off.
These tables have not reached their wraparound limits yet.
Out of curiosity, I modified the config file settings and increased the
autovacuum_vacuum_threshold to a relatively high value for our environment
(50M)
and reloaded the config settings via pg_reload_conf(). After this, the
vacuum activities stopped.

My questions would be:

1) Aside from preventing wraparounds, in what other circumstances does
autovacuum run?
2) Did changing the autovacuum config settings cause the autovacuums to
stop, if so, why, when autovacuum is set to 'off' the whole time?

Best Regards,

Paolo Saul

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2010-12-15 23:43:45 Re: What is the name pseudo column
Previous Message Guillaume Lelarge 2010-12-15 22:49:46 Re: How to restore from backup to 8.4.3 server using 9.0 dump/restore