-- Deploy tipus:roles to pg begin; do $$ declare role name; roles name[] := array ['guest', 'publisher', 'admin', 'authenticator']; begin foreach role in array roles loop begin execute 'create role ' || role || ' noinherit nologin'; exception when duplicate_object then raise notice '%, skipping', sqlerrm using errcode = sqlstate; end; end loop; end $$; grant guest to authenticator; grant publisher to authenticator; grant admin to authenticator; commit;