Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevent dropping plpgsql #68

Open
olirice opened this issue Dec 11, 2023 · 0 comments
Open

Prevent dropping plpgsql #68

olirice opened this issue Dec 11, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@olirice
Copy link
Collaborator

olirice commented Dec 11, 2023

It is currently possible to drop plpgsql with

drop language plpgsql cascade;

which will breaks a lot of supabase functionality and is difficult to recover from

ERROR:  2BP01: cannot drop extension plpgsql because other objects depend on it
DETAIL:  function pgbouncer.get_auth(text) depends on language plpgsql
extension pgjwt depends on language plpgsql
function storage.foldername(text) depends on language plpgsql
function storage.filename(text) depends on language plpgsql
function storage.extension(text) depends on language plpgsql
function storage.search(text,text,integer,integer,integer) depends on language plpgsql
function grant_pg_cron_access() depends on language plpgsql
event trigger issue_pg_cron_access depends on function grant_pg_cron_access()
function grant_pg_net_access() depends on language plpgsql
event trigger issue_pg_net_access depends on function grant_pg_net_access()
function pgrst_ddl_watch() depends on language plpgsql
event trigger pgrst_ddl_watch depends on function pgrst_ddl_watch()
function pgrst_drop_watch() depends on language plpgsql
event trigger pgrst_drop_watch depends on function pgrst_drop_watch()
function grant_pg_graphql_access() depends on language plpgsql
event trigger issue_pg_graphql_access depends on function grant_pg_graphql_access()
function set_graphql_placeholder() depends on language plpgsql
event trigger issue_graphql_placeholder depends on function set_graphql_placeholder()
extension pgsodium depends on language plpgsql
extension supabase_vault depends on extension pgsodium
view vault.decrypted_secrets depends on table vault.secrets
function vault.secrets_encrypt_secret_secret() depends on language plpgsql
extension pg_graphql depends on language plpgsql
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

This task is to protect that language from being dropped

@olirice olirice added bug Something isn't working enhancement New feature or request and removed bug Something isn't working labels Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant