From: | "Nagle, Gail A \(US SSA\)" <gail(dot)nagle(at)baesystems(dot)com> |
---|---|
To: | <pgsql-novice(at)postgresql(dot)org> |
Subject: | Configuring autovacuum for the first time... |
Date: | 2009-06-24 00:48:03 |
Message-ID: | 7naet7$pomab@dmzms99901.na.baesystems.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Hello,
We are moving from a development environment to a production testing
environment. We are complete novices!
Clearly, we now need to pay more attention to DB maintenance.
We are running PostGreSQL 8.3 on Windows XP, 32 bit. We currently have a
small template database with only one trigger and two tables plus
postgiis.
We expect to have up to 25 replications of the database and 25 users in
the future.
In preparation to use the recommended auto-vacuum capability, we first
checked that there were no entries in the pg_autovacuum table.
We then used pgAdmin III to manually vaccum each existing database. This
reduced file system memory use by about 1.5 MB.
Finally, we stopped the server, edited the postgresql.conf file as shown
below, and restarted the server.
With only one exception, we took the default values in the
postgresql.conf file. That exception was for log_autovacuum_min_duration
which we set to 0.
The log says "autovacuum launcher started".
Should we see a particular process running to be sure we have activated
auto vacuuming correctly by the above actions?
Assuming the default values a reasonable starting place, how will we
know if we need to modify these configuration settings in the future?
Thank you for your answers and advice,
Gail
postgresql.conf contents:
#-----------------------------------------------------------------------
-------
# RUNTIME STATISTICS
#-----------------------------------------------------------------------
-------
# - Query/Index Statistics Collector -
#track_activities = on
track_counts = on
#update_process_title = on
# - Statistics Monitoring -
#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off
#-----------------------------------------------------------------------
-------
# AUTOVACUUM PARAMETERS
#-----------------------------------------------------------------------
-------
autovacuum = on # Enable
autovacuum subprocess? 'on'
# requires
track_counts to also be on.
log_autovacuum_min_duration = 0 # -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 = 200000000 # 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
From | Date | Subject | |
---|---|---|---|
Next Message | Bhushan Verma | 2009-06-24 05:59:12 | psql: FATAL: the database system is in recovery mode |
Previous Message | Alexandru Maximciuc | 2009-06-23 21:26:22 | table's last update time |