pgsql: Fix autovacuum for shared relations

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix autovacuum for shared relations
Date: 2016-05-10 20:08:05
Message-ID: E1b0Dwr-0003Ms-Mr@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix autovacuum for shared relations

The table-skipping logic in autovacuum would fail to consider that
multiple workers could be processing the same shared catalog in
different databases. This normally wouldn't be a problem: firstly
because autovacuum workers not for wraparound would simply ignore tables
in which they cannot acquire lock, and secondly because most of the time
these tables are small enough that even if multiple for-wraparound
workers are stuck in the same catalog, they would be over pretty
quickly. But in cases where the catalogs are severely bloated it could
become a problem.

Backpatch all the way back, because the problem has been there since the
beginning.

Reported by Ondřej Světlík

Discussion: https://www.postgresql.org/message-id/572B63B1.3030603%40flexibee.eu
https://www.postgresql.org/message-id/572A1072.5080308%40flexibee.eu

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/7516cdb76adb0710b0453d6b5252f14fc8ca49bc

Modified Files
--------------
src/backend/postmaster/autovacuum.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message pgsql 2016-05-10 23:28:16 pgsql: Tag refs/tags/REL9_2_17 was created
Previous Message Peter Eisentraut 2016-05-09 22:13:52 Re: pgsql: Translation updates