diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-04-02 13:34:50 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-04-02 13:34:50 -0300 |
commit | 00ee6c7672fe0bf9448bc744b5e3408f5ebffc2e (patch) | |
tree | 3773fa4afbb21629f91989775b57ac411529a14b /src | |
parent | c02ef232c14d65741df939ddd633d8fed538a580 (diff) | |
download | postgresql-00ee6c7672fe0bf9448bc744b5e3408f5ebffc2e.tar.gz postgresql-00ee6c7672fe0bf9448bc744b5e3408f5ebffc2e.zip |
autovacuum: Fix polarity of "wraparound" variable
Commit 0d831389749a3 inadvertently reversed the meaning of the
wraparound variable. This causes vacuums which are not required for
wraparound to wait for locks to be acquired, and what is worse, it
allows wraparound vacuums to skip locked pages.
Bug reported by Jeff Janes in
http://www.postgresql.org/message-id/CAMkU=1xmTEiaY=5oMHsSQo5vd9V1Ze4kNLL0qN2eH0P_GXOaYw@mail.gmail.com
Analysis and patch by Kyotaro HORIGUCHI
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/postmaster/autovacuum.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index c93b412b297..080c3e62df8 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -2526,7 +2526,7 @@ table_recheck_autovac(Oid relid, HTAB *table_toast_map, tab->at_vacoptions = VACOPT_SKIPTOAST | (dovacuum ? VACOPT_VACUUM : 0) | (doanalyze ? VACOPT_ANALYZE : 0) | - (wraparound ? VACOPT_NOWAIT : 0); + (!wraparound ? VACOPT_NOWAIT : 0); tab->at_params.freeze_min_age = freeze_min_age; tab->at_params.freeze_table_age = freeze_table_age; tab->at_params.multixact_freeze_min_age = multixact_freeze_min_age; |