postgresql/src/backend
Alvaro Herrera 92ebe509e3 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
2016-05-10 16:23:54 -03:00
..
access Fix missing "static". 2016-04-16 14:50:54 -04:00
bootstrap Protect against multixact members wraparound 2015-04-28 11:32:53 -03:00
catalog Fix pg_upgrade to not fail when new-cluster TOAST rules differ from old. 2016-05-06 22:05:51 -04:00
commands Rework internals of changing a type's ownership 2015-12-21 19:49:15 -03:00
executor Further twiddling of nodeHash.c hashtable sizing calculation. 2015-10-04 15:55:07 -04:00
foreign Arrange to cache FdwRoutine structs in foreign tables' relcache entries. 2013-03-06 23:48:09 -05:00
lib Misc comment typo fixes. 2014-12-16 16:39:33 +02:00
libpq Distrust external OpenSSL clients; clear err queue 2016-05-07 00:10:17 -04:00
main Make fallback implementation of pg_memory_barrier() work in 9.2 and 9.3. 2016-04-16 10:42:07 -04:00
nodes Fix planner's cost estimation for SEMI/ANTI joins with inner indexscans. 2015-06-03 11:58:47 -04:00
optimizer Fix mishandling of equivalence-class tests in parameterized plans. 2016-04-29 20:19:38 -04:00
parser Remove spurious semicolons. 2015-03-31 15:15:04 +03:00
po Translation updates 2016-05-09 10:08:57 -04:00
port Improve TranslateSocketError() to handle more Windows error codes. 2016-04-21 16:59:08 -04:00
postmaster Fix autovacuum for shared relations 2016-05-10 16:23:54 -03:00
regex Suppress compiler warnings about useless comparison of unsigned to zero. 2016-02-15 17:11:52 -05:00
replication Fix typos 2016-02-29 18:11:58 -03:00
rewrite Improve error message for rejecting RETURNING clauses with dropped columns. 2016-02-29 19:11:53 -05:00
snowball Fix ancient encoding error in hungarian.stop. 2014-06-10 22:48:39 -04:00
storage Fix --disable-spinlocks in 9.2 and 9.3 branches. 2016-04-18 13:19:52 -04:00
tcop Add recursion depth protections to regular expression matching. 2015-10-02 14:51:58 -04:00
tsearch Fix possible use of uninitialised value in ts_headline() 2016-04-08 21:25:59 +03:00
utils Fix possible read past end of string in to_timestamp(). 2016-05-06 12:09:20 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
Makefile AIX: Link the postgres executable with -Wl,-brtllib. 2015-07-15 21:00:30 -04:00
nls.mk xlogreader.c: Fix report_invalid_record translatability flag 2015-01-09 12:34:24 -03:00