3.13. pg_depend

pg_depend テーブルは、データベースオブジェクト間の依存関係を記録します。 この情報によって DROP コマンドが、他のどのオブジェクトを DROP CASCADE で削除する必要があるかを判断し、また、DROP RESTRICT ケースで削除を防止することができます。

Table 3-13. pg_depend の列

名前参照先説明
classidoidpg_class.oid依存するオブジェクトを含んだシステムカタログの OID
objidoidどんな OID 属性であっても特定の依存するオブジェクトの OID
objsubidint4  テーブル属性に対して、これは属性の(objid と classid がテーブル自身を参照する)列番号です。他のすべてのオブジェクト型に対し現在このフィールドはゼロとなっています。
refclassidoidpg_class.oid参照されるオブジェクトを含んだシステムカタログの OID
refobjidoidどんな OID 属性であっても特定の参照されるオブジェクトの OID
refobjsubidint4  テーブル属性に対して、これは属性の(refobjid と refclassid がテーブル自身を参照する)列番号です。 他のすべてのオブジェクト型に対し現在このフィールドはゼロとなっています。
deptypechar  この依存関係の特定のセマンティクスを定義するコード。

すべての場合において、pg_depend エントリは、依存するオブジェクトも削除しない限り、参照されるオブジェクトを削除できないことを示します。 もっとも、deptype によって指定される以下のようないくつかのオプションもあります。

将来的に、他の依存関係のオプションが必要になる可能性があります。