diff --git a/pkg/migration/drop.go b/pkg/migration/drop.go index aa44407ca1..e7cd6af4c9 100644 --- a/pkg/migration/drop.go +++ b/pkg/migration/drop.go @@ -23,7 +23,6 @@ var ( `\_realtime`, `\_supavisor`, "pgbouncer", - "pgmq", "pgsodium", "pgtle", `supabase\_migrations`, diff --git a/pkg/migration/queries/drop.sql b/pkg/migration/queries/drop.sql index bbcf56edc7..8067254396 100644 --- a/pkg/migration/queries/drop.sql +++ b/pkg/migration/queries/drop.sql @@ -7,7 +7,7 @@ begin from pg_namespace pn left join pg_depend pd on pd.objid = pn.oid where pd.deptype is null - and not pn.nspname like any(array['information\_schema', 'pg\_%', '\_analytics', '\_realtime', '\_supavisor', 'pgbouncer', 'pgmq', 'pgsodium', 'pgtle', 'supabase\_migrations', 'vault', 'extensions', 'public']) + and not pn.nspname like any(array['information\_schema', 'pg\_%', '\_analytics', '\_realtime', '\_supavisor', 'pgbouncer', 'pgsodium', 'pgtle', 'supabase\_migrations', 'vault', 'extensions', 'public']) and pn.nspowner::regrole::text != 'supabase_admin' loop -- If an extension uses a schema it doesn't create, dropping the schema will cascade to also diff --git a/pkg/migration/scripts/dump_schema.sh b/pkg/migration/scripts/dump_schema.sh index c136cc086e..c68c046560 100755 --- a/pkg/migration/scripts/dump_schema.sh +++ b/pkg/migration/scripts/dump_schema.sh @@ -49,7 +49,7 @@ pg_dump \ | sed -E "s/^REVOKE (.+) ON (.+) \"(${EXCLUDED_SCHEMAS:-})\"/-- &/" \ | sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pg_tle").+/\1;/' \ | sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pgsodium").+/\1;/' \ -| sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pgmq").+/\1;/' \ +| sed -E 's/^(CREATE EXTENSION IF NOT EXISTS "pgmq").+/CREATE SCHEMA IF NOT EXISTS "pgmq"; \1 WITH SCHEMA "pgmq";/' \ | sed -E 's/^COMMENT ON EXTENSION (.+)/-- &/' \ | sed -E 's/^CREATE POLICY "cron_job_/-- &/' \ | sed -E 's/^ALTER TABLE "cron"/-- &/' \