asgard_synthese_role_obj

z_asgard.asgard_synthese_role_obj(obj_oid oid, obj_type text, n_role regrole)

La fonction asgard_synthese_role_obj renvoie une table contenant une liste de commandes GRANT et REVOKE permettant de recréer les droits d’un rôle donné sur un objet de type table, table étrangère, partition de table, vue, vue matérialisée, séquence, routine (fonctions, dont agrégats, et procédures) ou type (dont domaines).

Si le rôle considéré est le producteur[1] du schéma, supposé détenir tous les droits sur celui-ci, ce sont les privilèges révoqués qui sont listés et non les privilèges disponibles. Des commandes GRANT restent possibles en cas de révocation d’un privilège sur une table (ou équivalent) puis d’octroi de ce même privilège sur un champ.

Schéma

z_asgard

Arguments

  1. obj_oid est l’identifiant PostgreSQL de l’objet à considérer (pour une table, par exemple, peut être obtenu via 'nom_table'::regclass::oid)  ;

  2. obj_type est une chaîne de caractères indiquant le type de l’objet ;

  3. n_role est un nom de rôle valide, casté en regrole (ex : '"jon.snow"'::regrole).

Valeurs autorisées pour obj_type :

table

partitioned table

view

materialized view

foreign table

sequence

function

aggregate

procedure

routine

type

domain