Skip to content

Commit e9ea460

Browse files
committed
fix: update ext custom scripts to follow changes in Salt
1 parent 336f49e commit e9ea460

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

ansible/files/postgresql_extension_custom_scripts/pgmq/after-create.sql

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
do $$
22
declare
33
extoid oid := (select oid from pg_extension where extname = 'pgmq');
4+
extversion text := (select extversion from pg_extension where extname = 'pgmq');
45
r record;
56
cls pg_class%rowtype;
67
begin
@@ -18,8 +19,13 @@ begin
1819
physical backups everywhere
1920
*/
2021
-- Detach and delete the official function
21-
alter extension pgmq drop function pgmq.drop_queue(TEXT);
22-
drop function pgmq.drop_queue(TEXT);
22+
if extversion = '1.4.4' then
23+
alter extension pgmq drop function pgmq.drop_queue;
24+
drop function pgmq.drop_queue;
25+
else -- 1.5.1+
26+
alter extension pgmq drop function pgmq.drop_queue(TEXT);
27+
drop function pgmq.drop_queue(TEXT);
28+
end if;
2329

2430
-- Create and reattach the patched function
2531
CREATE FUNCTION pgmq.drop_queue(queue_name TEXT)
@@ -134,7 +140,11 @@ BEGIN
134140
END;
135141
$func$ LANGUAGE plpgsql;
136142

137-
alter extension pgmq add function pgmq.drop_queue(TEXT);
143+
if extversion = '1.4.4' then
144+
alter extension pgmq add function pgmq.drop_queue;
145+
else -- 1.5.1+
146+
alter extension pgmq add function pgmq.drop_queue(TEXT);
147+
end if;
138148

139149

140150
update pg_extension set extowner = 'postgres'::regrole where extname = 'pgmq';
Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
1-
grant usage on schema vault to postgres with grant option;
2-
grant select, delete, truncate, references on vault.secrets, vault.decrypted_secrets to postgres with grant option;
3-
grant execute on function vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt to postgres with grant option;
1+
do $$
2+
declare
3+
extversion text := (select extversion from pg_extension where extname = 'supabase_vault');
4+
begin
5+
set local search_path = '';
46

5-
-- service_role used to be able to manage secrets in Vault <=0.2.8 because it had privileges to pgsodium functions
6-
grant usage on schema vault to service_role;
7-
grant select, delete on vault.secrets, vault.decrypted_secrets to service_role;
8-
grant execute on function vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt to service_role;
7+
if extversion != '0.2.8' then
8+
grant usage on schema vault to postgres with grant option;
9+
grant select, delete, truncate, references on vault.secrets, vault.decrypted_secrets to postgres with grant option;
10+
grant execute on function vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt to postgres with grant option;
11+
12+
-- service_role used to be able to manage secrets in Vault <=0.2.8 because it had privileges to pgsodium functions
13+
grant usage on schema vault to service_role;
14+
grant select, delete on vault.secrets, vault.decrypted_secrets to service_role;
15+
grant execute on function vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt to service_role;
16+
end if;
17+
end $$;

0 commit comments

Comments
 (0)