Il s'agit, ici, de donner des droits d'accès, soit en lecture, soit en lecture-écriture, à des groupes, sur l'ensemble des tables d'un schéma, dans une base postgresql.
Ici, l'identification est sous-traitée à un serveur ldap - explications fournies dans cette page : Sous-traiter l'identification postgresql à un serveur ldap
create role "prenom.nom" LOGIN INHERIT VALID UNTIL '31-12-2050';
create role base_rw role "prenom.nom", "prenom1.nom1";
create role base_r role "prenom3.nom3";
Les commandes doivent être tapées en étant connecté dans la base de données.
grant usage on schema public to group base_r;
grant select on all tables in schema public to group base_r;
grant execute on all functions in schema public to group base_r;
grant usage on schema public to group base_rw;
grant select, insert, update, delete on all tables in schema public to group base_rw;
grant all on all functions in schema public to group base_rw;
grant all on all sequences in schema public to group base_rw;
Définir les droits par défaut
À adapter aux schémas, aux droits attribués, aux groupes, etc.). Ne s'applique que pour les objets créés par la suite dans la base
alter default privileges in schema public grant select on tables to group base_r;
alter default privileges in schema public grant execute on functions to group base_r;