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@gmail.com