On 11/10/2012 02:23 PM, Scott Marlowe wrote:
When in doubt there are the docs:)
http://www.postgresql.org/docs/9.1/interactive/routine-vacuuming.html#AUTOVACUUM
"The "autovacuum daemon" actually consists of multiple processes. There is a
persistent daemon process, called the autovacuum launcher, which is in
charge of starting autovacuum worker processes for all databases. The
launcher will distribute the work across time, attempting to start one
worker within each database every autovacuum_naptime seconds. (Therefore, if
the installation has N databases, a new worker will be launched every
autovacuum_naptime/N seconds.)"
And apparently it wasn't always this way:
http://www.postgresql.org/docs/8.2/interactive/routine-vacuuming.html#AUTOVACUUM
The autovacuum daemon, when enabled, runs every autovacuum_naptime
seconds. On each run, it selects one database to process and checks
each table within that database. VACUUM or ANALYZE commands are issued
as needed.
Seems to have changed in 8.3:
http://www.postgresql.org/docs/8.3/interactive/routine-vacuuming.html
"Beginning in PostgreSQL 8.3, autovacuum has a multiprocess
architecture: There is a daemon process, called the autovacuum launcher,
which is in charge of starting autovacuum worker processes for all
databases. The launcher will distribute the work across time, but
attempt to start one worker on each database every autovacuum_naptime
seconds. One worker will be launched for each database, with a maximum
of autovacuum_max_workers processes running at the same time..."
--
Adrian Klaver
adrian.klaver@xxxxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general