Skip to content

Instantly share code, notes, and snippets.

@dampfklon
Forked from oinopion/read-access.sql
Last active August 5, 2018 21:07
Show Gist options
  • Save dampfklon/362e1c901d82de8dfbfa27c54ce6431a to your computer and use it in GitHub Desktop.
Save dampfklon/362e1c901d82de8dfbfa27c54ce6431a to your computer and use it in GitHub Desktop.
How to create read only user in PostgreSQL
-- Revoke default permissions
REVOKE ALL ON SCHEMA public FROM public
GRANT ALL ON SCHEMA public TO writeuser
-- Create a group
CREATE ROLE readaccess;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO readaccess;
-- Grant access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO readaccess;
-- Create a final user with password
CREATE USER tomek WITH PASSWORD 'secret';
GRANT readaccess TO readuser;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment