[Postgresql] Créer un user en lecture seule (readonly) pour une base de donnée

Publié par Sébastien Vermeille le (0 lectures)

loyalty

Dans postgres, seul un user ayant accès à la base de donnée peut donner des accès à d’autres. Donc inutile d’essayer via l’utilisateur postgres de faire quoi que ce soit. (J’y ai laissé des cheveux!)

Donc pour commencer, on se connecte à notre base de donnée postgres avec un utilisateur qui dispose de suffisamment de droits:

psql -u <votreuser> -d <la base de donnée> -h <localhost ou ip de votre serveur>

Ensuite on créer un user readonly ou du nom que vous voulez :

CREATE USER readonly WITH ENCRYPTED PASSWORD unmotdepasse;

Et pour terminer on l’autorise à se connecter et à faire des SELECT:

GRANT CONNECT ON DATABASE baseDeDonnees TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;

Tadaaa

Commentaires