• Tom Lane's avatar
    Lock the extension during ALTER EXTENSION ADD/DROP. · 69dfc36f
    Tom Lane authored
    Although we were careful to lock the object being added or dropped,
    we failed to get any sort of lock on the extension itself.  This
    allowed the ALTER to proceed in parallel with a DROP EXTENSION,
    which is problematic for a couple of reasons.  If both commands
    succeeded we'd be left with a dangling link in pg_depend, which
    would cause problems later.  Also, if the ALTER failed for some
    reason, it might try to print the extension's name, and that could
    result in a crash or (in older branches) a silly error message
    complaining about extension "(null)".
    
    Per bug #17098 from Alexander Lakhin.  Back-patch to all
    supported branches.
    
    Discussion: https://postgr.es/m/17098-b960f3616c861f83@postgresql.org
    69dfc36f
extension.c 96.3 KB