Skip to content

Commit 2b37c9f

Browse files
committed
test
1 parent 71bd796 commit 2b37c9f

File tree

1 file changed

+7
-2
lines changed
  • ansible/files/admin_api_scripts/pg_upgrade_scripts

1 file changed

+7
-2
lines changed

ansible/files/admin_api_scripts/pg_upgrade_scripts/initiate.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ declare
325325
supabase_admin_role_settings text[] := (select setconfig from pg_db_role_setting where setdatabase = 0 and setrole = 'supabase_admin'::regrole);
326326
event_triggers jsonb[] := (select coalesce(array_agg(jsonb_build_object('name', evtname)), '{}') from pg_event_trigger where evtowner = 'postgres'::regrole);
327327
user_mappings jsonb[] := (
328-
select coalesce(array_agg(jsonb_build_object('oid', um.oid, 'role', a.rolname, 'server', s.srvname, 'options', um.umoptions::text)), '{}')
328+
select coalesce(array_agg(jsonb_build_object('oid', um.oid, 'role', a.rolname, 'server', s.srvname, 'options', um.umoptions)), '{}')
329329
from pg_user_mapping um
330330
join pg_authid a on a.oid = um.umuser
331331
join pg_foreign_server s on s.oid = um.umserver
@@ -493,7 +493,12 @@ begin
493493
foreach obj in array user_mappings
494494
loop
495495
execute(format('create user mapping for %I server %I', obj->>'role', obj->>'server'));
496-
update pg_user_mapping set umoptions = (obj->>'options')::text[] where umuser = (obj->>'role')::regrole and umserver = (select oid from pg_foreign_server where srvname = obj->>'server');
496+
for rec in
497+
select split_part(value, '=', 1) as key, substr(value, strpos(value, '=') + 1) as value
498+
from jsonb_array_elements_text(obj->'options')
499+
loop
500+
execute(format('alter user mapping for %I server %I options (%I %L)', obj->>'role', obj->>'server', rec.key, rec.value));
501+
end loop;
497502
end loop;
498503
499504
-- init privs

0 commit comments

Comments
 (0)