postgresql/src
Tom Lane e2841d399a Make pg_restore's identify_locking_dependencies() more bulletproof.
This function had a blacklist of dump object types that it believed
needed exclusive lock ... but we hadn't maintained that, so that it
was missing ROW SECURITY, POLICY, and INDEX ATTACH items, all of
which need (or should be treated as needing) exclusive lock.

Since the same oversight seems likely in future, let's reverse the
sense of the test so that the code has a whitelist of safe object
types; better to wrongly assume a command can't be run in parallel
than the opposite.  Currently the only POST_DATA object type that's
safe is CREATE INDEX ... and that list hasn't changed in a long time.

Back-patch to 9.5 where RLS came in.

Discussion: https://postgr.es/m/11450.1535483506@sss.pgh.pa.us
2018-08-28 19:46:59 -04:00
..
backend Avoid quadratic slowdown in regexp match/split functions. 2018-08-28 11:55:18 +01:00
bin Make pg_restore's identify_locking_dependencies() more bulletproof. 2018-08-28 19:46:59 -04:00
common Clean up assorted misuses of snprintf()'s result value. 2018-08-15 16:29:32 -04:00
fe_utils Fix lexing of standard multi-character operators in edge cases. 2018-08-23 21:43:55 +01:00
include Avoid query-lifetime memory leaks in XMLTABLE (bug #15321) 2018-08-13 02:03:54 +01:00
interfaces Fix lexing of standard multi-character operators in edge cases. 2018-08-23 21:43:55 +01:00
makefiles Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:31 -04:00
pl Translation updates 2018-08-06 20:03:55 +02:00
port Make snprintf.c follow the C99 standard for snprintf's result value. 2018-08-15 17:25:50 -04:00
template Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
test Fix lexing of standard multi-character operators in edge cases. 2018-08-23 21:43:55 +01:00
timezone Update time zone data files to tzdata release 2018e. 2018-05-09 13:55:42 -04:00
tools pgtest: run clean, build, and check stages separately 2018-07-28 15:34:06 -04:00
tutorial Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Build src/test/isolation during "make" and "make install". 2017-11-22 20:18:52 -08:00
Makefile.global.in Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:31 -04:00
Makefile.shlib Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-07-09 17:23:31 -04:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00