I have PostgreSQL 9.2 running on Ubuntu. The autovacuum process is running on the server.
The database has heavy load, 1000's of additions and 100's of deletions daily and yet it seems that autovacuum isn't firing up.
There is nothing relating to vacuum in the logs.
Doing ps -ef | grep -i vacuum
produces: postgres 1406 1130 0 Oct13 00:00:14 postgres: autovacuum launcher process
Running query SELECT last_autovacuum , last_autoanalyze FROM pg_stat_user_tables;
produces no records in last autovacuum column, and 2 entrys in the suto_analyze column.
The pertinent section of postgresql.conf is:
#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------
autovacuum = on # Enable autovacuum subprocess? 'on'
# requires track_counts to also be on.
log_autovacuum_min_duration = 250 # -1 disables, 0 logs all actions and
# their durations, > 0 logs only
# actions running at least this number
# of milliseconds.
autovacuum_max_workers = 3 # max number of autovacuum subprocesses
# (change requires restart)
#autovacuum_naptime = 1min # time between autovacuum runs
autovacuum_vacuum_threshold = 128 # min number of row updates before
# vacuum
autovacuum_analyze_threshold = 128 # 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 = 200000000 # maximum XID age before forced vacuum
# (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
# autovacuum, in milliseconds;
# -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovacuum, -1 means use
# vacuum_cost_limit
Any thoughts?