aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2011-02-07 22:04:29 -0500
committerRobert Haas <rhaas@postgresql.org>2011-02-07 22:04:29 -0500
commit32896c40ca766146312b28a5a0eb3f66ca0300ed (patch)
tree88596b8de0a3d0f57beaf994ff8ace6eda6fd9ba /doc/src
parent47082fa875179ae629edb26807ab3f38a775280b (diff)
downloadpostgresql-32896c40ca766146312b28a5a0eb3f66ca0300ed.tar.gz
postgresql-32896c40ca766146312b28a5a0eb3f66ca0300ed.zip
Avoid having autovacuum workers wait for relation locks.
Waiting for relation locks can lead to starvation - it pins down an autovacuum worker for as long as the lock is held. But if we're doing an anti-wraparound vacuum, then we still wait; maintenance can no longer be put off. To assist with troubleshooting, if log_autovacuum_min_duration >= 0, we log whenever an autovacuum or autoanalyze is skipped for this reason. Per a gripe by Josh Berkus, and ensuing discussion.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml5
1 files changed, 4 insertions, 1 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 2d8396e4e99..5a43774b33d 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -4080,7 +4080,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
all autovacuum actions. Minus-one (the default) disables logging
autovacuum actions. For example, if you set this to
<literal>250ms</literal> then all automatic vacuums and analyzes that run
- 250ms or longer will be logged. Enabling this parameter can be helpful
+ 250ms or longer will be logged. In addition, when this parameter is
+ set to any value other than <literal>-1</literal>, a message will be
+ logged if an autovacuum action is skipped due to the existence of a
+ conflicting lock. Enabling this parameter can be helpful
in tracking autovacuum activity. This setting can only be set in
the <filename>postgresql.conf</> file or on the server command line.
</para>