Lock the extension during ALTER EXTENSION ADD/DROP.
Tom Lane <tgl@sss.pgh.pa.us>
Lock the extension during ALTER EXTENSION ADD/DROP. 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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/extension.c | modified | +11 −3 |
Discussion
- BUG #17098: Assert failed on composing an error message when adding a type to an extension being dropped 15 messages · 2021-07-09 → 2021-07-22