Skip to main content

Donner des droits read-only à un utilisateur

Tiré de https://stackoverflow.com/questions/760210/how-do-you-create-a-read-only-user-in-postgresql/762649#762649.

Pour donner un droit read-only sur une table :

GRANT SELECT ON mytable TO xxx;

Pour donner le droit sur toutes les tables :

GRANT SELECT ON ALL TABLES IN SCHEMA public TO xxx;

Ceci ne donne le droit que sur les tables existantes. Pour que le droit sur toutes les tables, même celles à venir :

ALTER DEFAULT PRIVILEGES IN SCHEMA public
   GRANT SELECT ON TABLES TO xxx;

Pour supprimer le droit :

REVOKE SELECT ON mytable FROM xxx;
REVOKE SELECT ON ALL TABLES IN SCHEMA public FROM xxx;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
   REVOKE SELECT ON TABLES FROM xxx;