asgard_is_relation_owner

z_asgard.asgard_is_relation_owner(nom_schema text, nom_relation text [, nom_role text DEFAULT current_user ])

La fonction asgard_is_relation_owner détermine si un rôle est membre du propriétaire d'une table, vue ou autre relation (avec héritage de ses droits).

Schéma

z_asgard

Arguments

  1. nom_schema est une chaîne de caractères correspondant au nom du schéma contenant la relation.

  2. nom_relation est une chaîne de caractères correspondant au nom de la relation.

  3. [optionnel] nom_role est le nom du rôle dont on veut vérifier les permissions. Si non renseigné, la fonction testera l'utilisateur courant.

Tous les arguments sont en écriture naturelle, sans les guillemets des identifiants PostgreSQL.

Résultat

True si le rôle est membre du propriétaire de la relation. False sinon, incluant les cas où le rôle ou la relation n'existe pas.

Exemple

Pour savoir si le rôle g_admin est membre du propriétaire de la table layer_styles de QGIS :

1
2
SELECT z_asgard.asgard_is_relation_owner('public', 'layer_styles', 'g_admin') ;

Même question avec l'utilisateur courant :

1
2
SELECT z_asgard.asgard_is_relation_owner('public', 'layer_styles') ;