@@ -150,45 +150,44 @@ EOF
150
150
151
151
run_sql -c " $PATCH_PGMQ_QUERY "
152
152
run_sql -c " update pg_extension set extowner = 'postgres'::regrole where extname = 'pgmq';"
153
+ fi
153
154
154
- # Patch to handle upgrading to pgsodium-less Vault
155
- REENCRYPT_VAULT_SECRETS_QUERY=$( cat << EOF
156
- DO \$\$
157
- BEGIN
158
- IF EXISTS (SELECT FROM pg_available_extension_versions WHERE name = 'supabase_vault' AND version = '0.3.0')
159
- AND EXISTS (SELECT FROM pg_extension WHERE extname = 'supabase_vault')
160
- THEN
161
- IF (SELECT extversion FROM pg_extension WHERE extname = 'supabase_vault') != '0.2.8' THEN
162
- GRANT USAGE ON SCHEMA vault TO postgres WITH GRANT OPTION;
163
- GRANT SELECT, DELETE ON vault.secrets, vault.decrypted_secrets TO postgres WITH GRANT OPTION;
164
- GRANT EXECUTE ON FUNCTION vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt TO postgres WITH GRANT OPTION;
165
- END IF;
166
- -- Do an explicit IF EXISTS check to avoid referencing pgsodium objects if the project already migrated away from using pgsodium.
167
- IF EXISTS (SELECT FROM vault.secrets WHERE key_id IS NOT NULL) THEN
168
- UPDATE vault.secrets s
169
- SET
170
- secret = encode(
171
- vault._crypto_aead_det_encrypt(
172
- message := pgsodium.crypto_aead_det_decrypt(decode(s.secret, 'base64'), convert_to(s.id || s.description || s.created_at || s.updated_at, 'utf8'), s.key_id, s.nonce),
173
- additional := convert_to(s.id::text, 'utf8'),
174
- key_id := 0,
175
- context := 'pgsodium'::bytea,
176
- nonce := s.nonce
177
- ),
178
- 'base64'
179
- ),
180
- key_id = NULL
181
- WHERE
182
- key_id IS NOT NULL;
183
- END IF;
184
- END IF;
185
- RAISE EXCEPTION 'aaaaaaa';
186
- END
187
- \$\$ ;
155
+ # Patch to handle upgrading to pgsodium-less Vault
156
+ REENCRYPT_VAULT_SECRETS_QUERY=$( cat << EOF
157
+ DO \$\$
158
+ BEGIN
159
+ IF EXISTS (SELECT FROM pg_available_extension_versions WHERE name = 'supabase_vault' AND version = '0.3.0')
160
+ AND EXISTS (SELECT FROM pg_extension WHERE extname = 'supabase_vault')
161
+ THEN
162
+ IF (SELECT extversion FROM pg_extension WHERE extname = 'supabase_vault') != '0.2.8' THEN
163
+ GRANT USAGE ON SCHEMA vault TO postgres WITH GRANT OPTION;
164
+ GRANT SELECT, DELETE ON vault.secrets, vault.decrypted_secrets TO postgres WITH GRANT OPTION;
165
+ GRANT EXECUTE ON FUNCTION vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt TO postgres WITH GRANT OPTION;
166
+ END IF;
167
+ -- Do an explicit IF EXISTS check to avoid referencing pgsodium objects if the project already migrated away from using pgsodium.
168
+ IF EXISTS (SELECT FROM vault.secrets WHERE key_id IS NOT NULL) THEN
169
+ UPDATE vault.secrets s
170
+ SET
171
+ secret = encode(
172
+ vault._crypto_aead_det_encrypt(
173
+ message := pgsodium.crypto_aead_det_decrypt(decode(s.secret, 'base64'), convert_to(s.id || s.description || s.created_at || s.updated_at, 'utf8'), s.key_id, s.nonce),
174
+ additional := convert_to(s.id::text, 'utf8'),
175
+ key_id := 0,
176
+ context := 'pgsodium'::bytea,
177
+ nonce := s.nonce
178
+ ),
179
+ 'base64'
180
+ ),
181
+ key_id = NULL
182
+ WHERE
183
+ key_id IS NOT NULL;
184
+ END IF;
185
+ END IF;
186
+ END
187
+ \$\$ ;
188
188
EOF
189
- )
190
- run_sql -c " $REENCRYPT_VAULT_SECRETS_QUERY "
191
- fi
189
+ )
190
+ run_sql -c " $REENCRYPT_VAULT_SECRETS_QUERY "
192
191
193
192
run_sql -c " grant pg_read_all_data, pg_signal_backend to postgres"
194
193
}
0 commit comments