pg_init_privs
Le catalogue pg_init_privs
enregistre des
informations sur les droits initiaux des objets dans le système. Il
existe une entrée pour chaque objet de la base qui n'a pas sa
configuration initiale des droits.
Les objets peuvent avoir des droits initiaux, soit en ayant ces droits
configurés quand le système est initialisé (par
initdb) soit quand l'objet est créé lors d'un
CREATE EXTENSION
et que le script de l'extension configure
les droits initiaux en utilisant la commande GRANT
. Notez
que le système gère automatiquement l'enregistrement des droits lors de
l'exécution du script de l'extension et que les auteurs d'extension ont juste
besoin d'utiliser les commandes GRANT
et
REVOKE
dans leur scripts pour que les droits soient
enregistrés. La colonne privtype
indique si le droit
initial a été configuré par initdb ou par une
commande CREATE EXTENSION
.
Les objects qui ont des droits initiaux configurés par
initdb auront des entrées où
privtype
vaut 'i'
alors que les
objets qui ont des droits initiaux configurés par CREATE
EXTENSION
auront des entrées dont privtype
vaut 'e'
.
Tableau 51.28. Colonnes de pg_init_privs
Nom | Type | Références | Description |
---|---|---|---|
objoid | oid | Toute colonne OID | L'OID de l'objet spécifié |
classoid | oid |
| L'OID du catalogue spécifique où se trouve l'objet |
objsubid | int4 |
Pour une colonne de table, c'est le numéro de la colonne
(objoid et classoid
font référence à la table elle-même). Pour tous les autres types
d'objet, cette colonne vaut zéro.
| |
privtype | char | Un code définissant le type de droit initial pour cet objet ; voir le texte. | |
initprivs | aclitem[] | Les droits d'accès initiaux ; voir GRANT et REVOKE pour les détails |