pgsql: Make pg_restore's identify_locking_dependencies() morebulletpro - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Make pg_restore's identify_locking_dependencies() morebulletpro
Date
Msg-id E1funhc-0005Nq-S5@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

Branch
------
REL9_5_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/aac21f11df0dbe6ee32ac8151bd1ea2c7987f683

Modified Files
--------------
src/bin/pg_dump/pg_backup_archiver.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Rework option set of vacuumlo
Next
From: Michael Paquier
Date:
Subject: pgsql: Stop bgworkers during fast shutdown with postmaster in startupp