Add new function to drop a user-defined foreign server
This commit is contained in:
@@ -241,6 +241,15 @@ BEGIN
|
||||
END
|
||||
$$ LANGUAGE plpgsql VOLATILE PARALLEL UNSAFE SECURITY DEFINER;
|
||||
|
||||
CREATE OR REPLACE FUNCTION @extschema@.CDB_Drop_User_Foreign_Server(fdw_name NAME)
|
||||
RETURNS void AS $$
|
||||
BEGIN
|
||||
EXECUTE FORMAT ('DROP SCHEMA %I', fdw_name);
|
||||
EXECUTE FORMAT ('DROP USER MAPPING FOR public SERVER %I', fdw_name);
|
||||
EXECUTE FORMAT ('DROP SERVER %I', fdw_name);
|
||||
END
|
||||
$$ LANGUAGE plpgsql VOLATILE PARALLEL UNSAFE;
|
||||
|
||||
|
||||
-- Set up a user foreign table
|
||||
-- E.g:
|
||||
|
||||
@@ -624,11 +624,8 @@ EOF
|
||||
DATABASE=fdw_target sql postgres 'REVOKE SELECT ON cdb_tablemetadata_text FROM fdw_user;'
|
||||
DATABASE=fdw_target sql postgres 'DROP ROLE fdw_user;'
|
||||
|
||||
# TODO add to function to delete stuff
|
||||
sql postgres 'DROP FOREIGN TABLE test_user_fdw.foo;'
|
||||
sql postgres 'DROP schema test_user_fdw;'
|
||||
sql postgres 'DROP USER MAPPING FOR public SERVER test_user_fdw;'
|
||||
sql postgres 'DROP SERVER test_user_fdw;'
|
||||
sql cdb_testmember_1 "DROP FOREIGN TABLE test_user_fdw.foo;"
|
||||
sql cdb_testmember_1 "SELECT cartodb.CDB_Drop_User_Foreign_Server('test_user_fdw')"
|
||||
|
||||
sql postgres "select pg_terminate_backend(pid) from pg_stat_activity where datname='fdw_target';"
|
||||
DATABASE=fdw_target tear_down_database
|
||||
|
||||
Reference in New Issue
Block a user