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-0005Nh-RS@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
------
master

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

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