diff options
author | Robert Haas <rhaas@postgresql.org> | 2011-02-07 22:04:29 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2011-02-07 22:04:29 -0500 |
commit | 32896c40ca766146312b28a5a0eb3f66ca0300ed (patch) | |
tree | 88596b8de0a3d0f57beaf994ff8ace6eda6fd9ba /src/include/nodes/parsenodes.h | |
parent | 47082fa875179ae629edb26807ab3f38a775280b (diff) | |
download | postgresql-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 'src/include/nodes/parsenodes.h')
-rw-r--r-- | src/include/nodes/parsenodes.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 483f22591ea..d7d1b0a6fdf 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -2332,7 +2332,8 @@ typedef enum VacuumOption VACOPT_ANALYZE = 1 << 1, /* do ANALYZE */ VACOPT_VERBOSE = 1 << 2, /* print progress info */ VACOPT_FREEZE = 1 << 3, /* FREEZE option */ - VACOPT_FULL = 1 << 4 /* FULL (non-concurrent) vacuum */ + VACOPT_FULL = 1 << 4, /* FULL (non-concurrent) vacuum */ + VACOPT_NOWAIT = 1 << 5 } VacuumOption; typedef struct VacuumStmt |