supabase-postgres.git / summary / log / commit / refs

commit    5a91952ae216ff363c17445eb28bcd0df6eb9241
Author:   Bobbie Soedirgo <bobbie@soedirgo.dev>
Commit:   Bobbie Soedirgo <31685197+soedirgo@users.noreply.github.com>
Date:     Tue Feb 18 03:21:27 2025 +0000

    fix: pgsodium mask_role migration


ansible/vars.yml | 4 ++-- .../20250218031949_pgsodium_mask_role.sql | 25 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ansible/vars.yml b/ansible/vars.yml index fe8ec2d3..6d3d096b 100644 --- a/ansible/vars.yml +++ b/ansible/vars.yml @@ -8,8 +8,8 @@ postgres_major: # Full version strings for each major version postgres_release: - postgresorioledb-17: "17.0.1.34-orioledb" - postgres15: "15.8.1.038" + postgresorioledb-17: "17.0.1.036-orioledb" + postgres15: "15.8.1.040" # Non Postgres Extensions pgbouncer_release: "1.19.0" diff --git a/migrations/db/migrations/20250218031949_pgsodium_mask_role.sql b/migrations/db/migrations/20250218031949_pgsodium_mask_role.sql new file mode 100644 index 00000000..c4a3eadf --- /dev/null +++ b/migrations/db/migrations/20250218031949_pgsodium_mask_role.sql @@ -0,0 +1,25 @@ +-- migrate:up +CREATE OR REPLACE FUNCTION pgsodium.mask_role(masked_role regrole, source_name text, view_name text) +RETURNS void +LANGUAGE plpgsql +SECURITY DEFINER +SET search_path TO '' +AS $function$ +BEGIN + EXECUTE format( + 'GRANT SELECT ON pgsodium.key TO %s', + masked_role); + + EXECUTE format( + 'GRANT pgsodium_keyiduser, pgsodium_keyholder TO %s', + masked_role); + + EXECUTE format( + 'GRANT ALL ON %I TO %s', + view_name, + masked_role); + RETURN; +END +$function$; + +-- migrate:down [parent: 447f4492258b]