mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-20 06:30:43 +00:00
This makes sure we don't confuse user-controlled functions with PG's builtin functions. ## Problem See https://github.com/neondatabase/cloud/issues/31628
19 lines
663 B
SQL
19 lines
663 B
SQL
DO ${outer_tag}$
|
|
DECLARE
|
|
subname TEXT;
|
|
BEGIN
|
|
LOCK TABLE pg_catalog.pg_subscription IN ACCESS EXCLUSIVE MODE;
|
|
FOR subname IN
|
|
SELECT pg_subscription.subname
|
|
FROM pg_catalog.pg_subscription
|
|
WHERE subdbid OPERATOR(pg_catalog.=) (
|
|
SELECT oid FROM pg_database WHERE datname OPERATOR(pg_catalog.=) {datname_str}::pg_catalog.name
|
|
)
|
|
LOOP
|
|
EXECUTE pg_catalog.format('ALTER SUBSCRIPTION %I DISABLE;', subname);
|
|
EXECUTE pg_catalog.format('ALTER SUBSCRIPTION %I SET (slot_name = NONE);', subname);
|
|
EXECUTE pg_catalog.format('DROP SUBSCRIPTION %I;', subname);
|
|
END LOOP;
|
|
END;
|
|
${outer_tag}$;
|