41.13. pg_depend

Le catalogue pg_depend enregistre les relations de d�pendances entre les objets de la base de donn�es. Cette information permet � la commande DROP de trouver quels autres objets doivent �tre supprim�s par la commande DROP CASCADE ou au contraire emp�chent la suppression dans le cas de DROP RESTRICT.

Tableau 41-13. Colonnes de pg_depend

NomTypeR�f�rencesDescription
classidoidpg_class .oidOID du catalogue syst�me dans lequel l'objet d�pendant se trouve.
objidoidtoute colonne OIDOID de l'objet d�pendant
objsubidint4  Pour une colonne de table, ce champ indique le num�ro de colonne (les champs objid et classid se r�f�rent � la table elle-m�me). Pour tous les autres types d'objets, cette colonne est � z�ro.
refclassidoidpg_class .oidOID du catalogue syst�me dans lequel l'objet r�f�renc� se trouve.
refobjidoidtoute colonne OIDOID de l'objet r�f�renc�
refobjsubidint4  Pour une colonne de table, ce champ indique le num�ro de colonne (les champs refobjid et refclassid se r�f�rent � la table elle m�me). Pour tous les autres types d'objets, cette colonne est � z�ro.
deptypechar  Code d�finissant la s�mantique de cette relation de d�pendance. Voir le texte.

Dans tous les cas, une entr�e dans pg_depend indique que l'objet r�f�rence ne peut pas �tre supprim� sans supprimer aussi l'objet d�pendant. N�anmoins, il y a des nuances, identifi�es par deptype :

DEPENDENCY_NORMAL (n)

Une relation normale entre des objets cr��s s�par�ment. L'objet d�pendant peut �tre supprim� sans affecter l'objet r�f�renc�. L'objet r�f�renc� ne peut �tre supprim� qu'en pr�cisant l'option CASCADE, auquel cas l'objet d�pendant est supprim� lui-aussi. Exemple : une colonne de table a une d�pendance normale avec ses types de donn�es.

DEPENDENCY_AUTO (a)

L'objet d�pendant peut �tre supprim� s�par�ment de l'objet de r�f�rence, et doit �tre automatiquement supprim� si l'objet r�f�renc� est supprim�, quel que soit le mode RESTRICT ou CASCADE. Exemple : une contrainte nomm�e sur une table est auto-d�pendante sur la table et sera automatiquement supprim�e en m�me temps que la table.

DEPENDENCY_INTERNAL (i)

L'objet d�pendant a �t� cr�� comme une partie de l'objet r�f�renc� et n'est r�ellement qu'une partie de son impl�mentation interne. Un DROP de l'objet d�pendant sera interdit (avec un message � l'utilisateur lui proposant de faire un DROP de l'objet r�f�renc� � la place). Une suppression de l'objet r�f�renc� sera propag�e � l'objet d�pendant que CASCADE soit pr�cis� ou non. Exemple : un trigger qui est cr�� pour v�rifier une contrainte de cl� �trang�re, est rendu d�pendant de l'entr�e de la contrainte dans pg_constraint.

DEPENDENCY_PIN (p)

Il n'y a pas d'objet d�pendant ; ce type d'entr�e signale que le syst�me lui m�me d�pend de l'objet r�f�renc�, et donc que l'objet ne doit jamais �tre supprim�. Les entr�es de ce type sont cr��es uniquement par initdb. Les colonnes pour l'objet d�pendant contiennent des z�ros.

D'autres types de d�pendance pourraient appara�tre dans le futur.