Add new function to drop a user-defined foreign server
This commit is contained in:
@@ -241,6 +241,15 @@ BEGIN
|
|||||||
END
|
END
|
||||||
$$ LANGUAGE plpgsql VOLATILE PARALLEL UNSAFE SECURITY DEFINER;
|
$$ 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
|
-- Set up a user foreign table
|
||||||
-- E.g:
|
-- 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 'REVOKE SELECT ON cdb_tablemetadata_text FROM fdw_user;'
|
||||||
DATABASE=fdw_target sql postgres 'DROP ROLE fdw_user;'
|
DATABASE=fdw_target sql postgres 'DROP ROLE fdw_user;'
|
||||||
|
|
||||||
# TODO add to function to delete stuff
|
sql cdb_testmember_1 "DROP FOREIGN TABLE test_user_fdw.foo;"
|
||||||
sql postgres 'DROP FOREIGN TABLE test_user_fdw.foo;'
|
sql cdb_testmember_1 "SELECT cartodb.CDB_Drop_User_Foreign_Server('test_user_fdw')"
|
||||||
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 postgres "select pg_terminate_backend(pid) from pg_stat_activity where datname='fdw_target';"
|
sql postgres "select pg_terminate_backend(pid) from pg_stat_activity where datname='fdw_target';"
|
||||||
DATABASE=fdw_target tear_down_database
|
DATABASE=fdw_target tear_down_database
|
||||||
|
|||||||
Reference in New Issue
Block a user