pg_dependpg_dependカタログは、データベースオブジェクト間の依存関係を記録します。RESTRICTで削除を防止するかの場合を判断します。pg_shdependも参照してください。これはデータベースクラスタ間で共有されるオブジェクトの依存関係に対する似たような機能を持っています。テーブル列の場合、これは列番号です(objidとclassidはテーブル自身を参照します)。他のすべての種類のオブジェクトでは、このフィールドはゼロです。テーブル列の場合、これは列番号です(refobjidとrefclassidはテーブル自身を参照します)。他のすべての種類のオブジェクトでは、このフィールドはゼロです。この依存関係の特定のセマンティクスを定義するコード(後述)。すべての場合において、pg_dependエントリは依存するオブジェクトも削除しない限り、参照されるオブジェクトを削除できないことを示します。deptypeによって指定される以下のようないくつかのオプションもあります。(n)個別に作成されたオブジェクト間の通常の関係です。依存するオブジェクトは参照されるオブジェクトに影響を与えずに削除できます。参照されるオブジェクトはCASCADEを指定することによってのみ削除することができます。この場合は依存するオブジェクトも削除されます。例:テーブルの列はそのデータ型に対して通常の依存関係を持ちます。(a)依存するオブジェクトは参照されるオブジェクトから独立して削除することができます。参照されるオブジェクトが削除される時は(RESTRICTもしくはCASCADEモードに関わりなく)依存するオブジェクトも自動的に削除されなければなりません。例:テーブル上の名前付き制約はテーブル上に自動設定されているため、テーブルが削除されるとなくなります。(i)依存するオブジェクトは参照されるオブジェクトの作成時に作成されたもので、実際に内部実装の一部に過ぎません。(その代わりに、参照されるオブジェクトに対してDROPを実行するように指示されます)。参照されるオブジェクトにDROPを実行すると、CASCADEが指定されているかどうかに関わらず、依存するオブジェクトも削除されます。例:外部キー制約を強制するために作成されたトリガは内部的に制約のpg_constraint項目に依存しています。(e)依存するオブジェクトは参照されるオブジェクトのextensionのメンバです(pg_extension参照)。EXTENSION経由でのみ削除することができます。機能的にはこの種類の依存関係は内部依存関係と同様に動作しますが、明確さとpg_dumpを単純化するために別々に保持されます。(p)依存するオブジェクトはありません。この種類の項目は、参照されるオブジェクトにシステム自体が依存し、したがってオブジェクトを絶対に削除してはならないことを示します。この種類の項目はinitdbの実行時にのみ作成されます。依存するオブジェクト列にはゼロが含まれます。将来的に、他の依存関係のオプションが必要になる可能性があります。pg_description。