• Tom Lane's avatar
    Make pg_restore's identify_locking_dependencies() more bulletproof. · e0a0cc28
    Tom Lane authored
    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
    e0a0cc28
pg_backup_archiver.c 123 KB