Accès à la vue
La vue utilisateur[1] gestion_schema_usr
est accessible en lecture et en écriture à tous les rôles du serveur par l'intermédiaire du pseudo-rôle public
. Cela ne signifie toutefois pas que tous les utilisateurs du serveur pourront visualiser et modifier à travers elle l’ensemble des informations contenues dans la table gestion_schema
.
En premier lieu, la vue gestion_schema_usr
ne reprend pas tous les champs de gestion_schema
, mais seulement ceux qui ont vocation à être alimentés manuellement.
En second lieu, gestion_schema_usr
est définie de manière à n’afficher que les lignes sur lesquelles l’utilisateur est légitime à intervenir :
les schémas existants[2] si et seulement s’il est membre de leur rôle producteur[3] ;
les schémas pré-définis[4] (non créés) si et seulement si l’utilisateur est lui-même habilité à créer des schémas ou s’il a explicitement endossé le rôle désigné comme futur producteur, par exemple par une commande
SET ROLE %producteur
, ce qui requiert bien entendu que l’utilisateur soit membre dudit rôle producteur.
Les membres de g_admin
voient quoi qu’il arrive tous les enregistrements de la table de gestion.
À noter que, si un utilisateur lambda souhaite obtenir des informations sur les objets existants, les propriétaires et les droits, elles sont accessibles à tous via la vue z_asgard.gestion_schema_read_only
, ainsi que dans les schémas pg_catalog
et information_schema
.
Réglementaire : Principe⚓
gestion_schema_usr
ne montre à l’utilisateur que les schémas dont il est habilité à gérer les droits.