On Sat, Nov 10, 2012 at 3:20 PM, Adrian Klaver <adrian.klaver@xxxxxxxxx> wrote: > On 11/10/2012 02:08 PM, Scott Marlowe wrote: >> >> On Sat, Nov 10, 2012 at 2:12 PM, Jeff Janes <jeff.janes@xxxxxxxxx> wrote: >>> >>> On Fri, Nov 9, 2012 at 5:56 PM, Scott Marlowe <scott.marlowe@xxxxxxxxx> >>> wrote: >>>> >>>> >>>> As well, since the default nap time is 1 minute, it will take at least >>>> 50 minutes to vacuum each db as nap time is how long autovac waits >>>> between databases. >>> >>> >>> That isn't how it works. The naptime is per database, not per >>> cluster. If the naptime is 1 minute and there are 50 "active" >>> databases, then it will launch a new worker every 1.2 seconds >>> (assuming the old ones finish fast enough that doing so would not >>> exceed autovacuum_max_workers) >> >> >> Hmmm. That was not my understanding from previous discussions on nap >> time. >> >> > > > 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. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general