Skip to content

Instantly share code, notes, and snippets.

@bernardoVale
Created April 3, 2013 23:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bernardoVale/5306531 to your computer and use it in GitHub Desktop.
Save bernardoVale/5306531 to your computer and use it in GitHub Desktop.
CREATE OR REPLACE FUNCTION user_schema_creator()
RETURNS trigger LANGUAGE plpgsql
AS
$$
begin
EXECUTE 'CREATE SCHEMA user_'||new.id||' AUTHORIZATION postgres';
return new;
end;
$$
CREATE OR REPLACE FUNCTION user_schema_delete()
RETURNS trigger LANGUAGE plpgsql
AS
$$
begin
EXECUTE 'DROP SCHEMA user_'||old.id||' cascade';
return new;
end;
$$
create trigger usuarios_schema after insert
on usuario for each row
EXECUTE PROCEDURE user_schema_creator();
create trigger usuarios_delete_schema after delete
on usuario for each row
execute procedure user_schema_delete();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment