

pg_shdepend #
   Le catalogue pg_shdepend enregistre les relations
   de dépendance entre les objets de la base de données et les objets partagés,
   comme les rôles. Cette information permet à
   PostgreSQL de s'assurer que tous ces objets sont
   déréférencés avant toute tentative de suppression.
  
   Voir aussi
   pg_depend, qui
   réalise une fonction similaire pour les dépendances impliquant les objets
   contenus dans une seule base de données.
  
   Contrairement à la plupart des catalogues système,
   pg_shdepend est partagé par toutes les bases de
   données d'un cluster : il n'existe qu'une seule copie de
   pg_shdepend par cluster, pas une par base de
   données.
  
Tableau 51.48. Colonnes de pg_shdepend
| Type Description | 
|---|
| 
         L'OID de la base de données dont fait partie l'objet dépendant. ou 0 pour un objet partagé | 
| 
         L'OID du catalogue système dont fait partie l'objet dépendant | 
| 
         L'OID de l'objet dépendant | 
| 
         
        Pour une colonne de table, c'est le numéro de colonne (les
         | 
| 
         L'OID du catalogue système dont fait partie l'objet référencé (doit être un catalogue partagé) | 
| 
         L'OID de l'objet référencé | 
| 
         Un code définissant les sémantiques spécifiques des relations de cette dépendance ; voir le texte. | 
   Dans tous les cas, une entrée pg_shdepend indique
   que l'objet référencé ne peut pas être supprimé sans supprimer aussi
   l'objet dépendant. Néanmoins, il existe quelques différences identifiées
   par le deptype :
   
SHARED_DEPENDENCY_OWNER (o)L'objet référencé (qui doit être un rôle) est le propriétaire de l'objet dépendant.
SHARED_DEPENDENCY_ACL (a)
       L'objet référencé (qui doit être un rôle) est mentionné dans la liste
       de contrôle des accès (ACL, acronyme de
       access control list) de l'objet
       dépendant. (Une entrée SHARED_DEPENDENCY_ACL n'est
       pas créée
       pour le propriétaire de l'objet car ce dernier a toujours une
       entrée SHARED_DEPENDENCY_OWNER.)
      
SHARED_DEPENDENCY_INITACL (i)
       L'objet référencé (qui doit être un rôle) est mentionné dans une
       entrée
       pg_init_privs
       pour l'objet dépendant.
      
SHARED_DEPENDENCY_POLICY (r)L'objet référencé (qui doit être un rôle) est mentionné comme la cible d'un objet de politique de sécurité dépendant.
SHARED_DEPENDENCY_TABLESPACE (t)L'objet référencé (qui doit être un tablespace) est mentionné comme le tablespace pour une relation qui n'a pas de stockage.
D'autres types de dépendances peuvent s'avérer nécessaires dans le futur. La définition actuelle ne supporte que les rôles et les tablespaces comme objets référencés.
   Comme dans le catalogue pg_depend, la plupart des
   objets créés pendant initdb sont considérés
   « fixes ». Aucun enregistrement n'est fait dans
   pg_shdepend pour des objets fixés soit en tant
   qu'objet référencée soit en tant qu'objet dépendant.