Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT nspname
- FROM pg_namespace;
- psql -f multigrant.sql
- DO $do$
- DECLARE
- sch text;
- BEGIN
- FOR sch IN SELECT nspname FROM pg_namespace
- LOOP
- EXECUTE format($$ GRANT USAGE ON SCHEMA %I TO your_role $$, sch);
- END LOOP;
- END;
- $do$;
- DO $do$
- DECLARE
- sch text;
- BEGIN
- FOR sch IN SELECT nspname FROM pg_namespace where nspname != 'pg_toast'
- and nspname != 'pg_temp_1' and nspname != 'pg_toast_temp_1'
- and nspname != 'pg_statistic' and nspname != 'pg_catalog'
- and nspname != 'information_schema'
- LOOP
- EXECUTE format($$ GRANT USAGE ON SCHEMA %I TO your_role $$, sch);
- EXECUTE format($$ GRANT USAGE ON SCHEMA %I to your_role $$, sch);
- EXECUTE format($$ GRANT SELECT ON ALL SEQUENCES IN SCHEMA %I TO your_role $$, sch);
- EXECUTE format($$ GRANT SELECT ON ALL TABLES IN SCHEMA %I TO backup_user $$, sch);
- EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON TABLES TO your_role $$, sch);
- EXECUTE format($$ ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT SELECT ON SEQUENCES TO your_role $$, sch);
- END LOOP;
- END;
- $do$;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement