asgard_layer_styles
fonction d'administration des droits sur la table layer_styles de QGIS
z_asgard_admin.asgard_layer_styles(variante int)
La fonction asgard_layer_styles
a vocation à faciliter la gestion des droits sur la table layer_styles
du schéma public
(table utilisée par QGIS pour la sauvegarde des styles associés aux tables et vues de la base).
Concrètement, elle confère :
des droits en écriture selon la stratégie spécifiée par le paramètre
variante
.
La fonction échouera si la table layer_styles
n'existe pas.
Il est possible de relancer la fonction à volonté pour modifier la stratégie à mettre en oeuvre. L'une des variantes (99) permet aussi de supprimer toutes les permissions conférées.
Voir aussi Quid du schéma public ? pour une discussion plus large sur la gestion du schéma public
et de son contenu, dont la table layer_styles
.
Remarque :
Hormis pour la variante 0, la fonction a pour effet d'activer la sécurisation niveau ligne sur la table, ce qui pourra rendre inopérants des accès précédemment définis.
Attention :
La fonction asgard_layer_styles
ne peut être exécutée que par un rôle qui soit à la fois membre g_admin
et membre du rôle propriétaire de la table layer_styles
. Bien souvent, cela veut dire qu'elle devra être lancée par un super-utilisateur[3].
Syntaxe⚓
SELECT z_asgard_admin.asgard_layer_styles('%variante') ;
Ou, en nommant l’argument :
SELECT z_asgard_admin.asgard_layer_styles(variante := %variante) ;
Argument⚓
variante
est un entier spécifiant les droits à donner en écriture.
Variantes⚓
Le tableau suivant détaille les droits d'édition conférés selon la valeur de l’argument variante
. Toutes les variantes sauf la 99 donnent en outre à g_consult
des droits de lecture sur l'intégralité de la table.
n° de variante | surnom | effet |
---|---|---|
0 | Variante « g_admin » | Autorise |
1 | Variante « producteur » | Idem 0 + autorise le producteur[4] d'un schéma à modifier les styles associés aux tables qu'il contient. |
2 | Variante « éditeur » | Idem 1 + autorise l'éditeur[5] d'un schéma à enregistrer de nouveaux styles (
|
3 | Variante « éditeur+ » | Idem 2 sans la condition sur la valeur du champ |
4 | Variante « éditeur++ » | Idem 3 sans la condition d'appartenance au rôle |
5 | Variante « lecteur » | Idem 2, mais les permissions conférées aux membres du groupe éditeur du schéma le sont également aux membres du groupe lecteur[6]. |
99 | Réinitialisation | Supprime tous les droits accordés par les autres variantes (y compris l'accès en lecture de |
Résultat⚓
« __ FIN ATTRIBUTION PERMISSIONS. » (ou « __ FIN SUPPRESSION PERMISSIONS. » pour la variante 99) si l'opération s'est déroulée comme prévu.
Exemple :
Mise en oeuvre de la variante n°1 :
SELECT z_asgard_admin.asgard_layer_styles(1) ;