Skip to content

Instantly share code, notes, and snippets.

@cleblanc87
Last active October 3, 2018 15:30
Show Gist options
  • Save cleblanc87/e4f8a37d23246139dab7efbc4b9d9d2f to your computer and use it in GitHub Desktop.
Save cleblanc87/e4f8a37d23246139dab7efbc4b9d9d2f to your computer and use it in GitHub Desktop.
CREATE ROLE readonly WITH LOGIN PASSWORD '<pw>';
GRANT CONNECT ON DATABASE <db> TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON SEQUENCES TO readonly;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;
-----
REVOKE USAGE ON SCHEMA public FROM readonly;
REVOKE CONNECT ON DATABASE <db> FROM readonly;
REVOKE SELECT ON ALL TABLES IN SCHEMA public FROM readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE SELECT ON TABLES FROM readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE SELECT ON SEQUENCES FROM readonly;
REVOKE SELECT ON ALL SEQUENCES IN SCHEMA public FROM readonly;
drop role readonly;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment