From: Magnus Hagander Date: Mon, 8 Dec 2008 20:31:00 +0000 (+0000) Subject: Clearify how processes are started by autovacuum, and what the effect X-Git-Tag: recoveryinfrav9~226 X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=9526bedcc7efbf1588c2373d19d5609344ff5829;p=users%2Fsimon%2Fpostgres.git Clearify how processes are started by autovacuum, and what the effect of autovacuum_max_workers parameter is. Per discussion with Alvaro. --- diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 6df082d2a4..4ae6bd5553 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -522,10 +522,16 @@ HINT: Stop the postmaster and use a standalone backend to VACUUM in "mydb". The autovacuum daemon actually consists of multiple processes. There is a persistent daemon process, called the autovacuum launcher, which is in charge of starting - an autovacuum worker process on each database every - seconds. On each run, the worker - process checks each table within that database, and executes - VACUUM and/or ANALYZE commands as needed. + autovacuum worker processes for all databases. The + launcher will distribute the work across time, but attempt to start one + worker on each database every + seconds. One worker will be launched for each database, with a maximum + of processes running at the + same time. If there are more than + databases to be processed, + the next database will be processed as soon as the first worker finishes. + The worker processes will check each table within its database and + execute VACUUM and/or ANALYZE as needed.