カタログpg_constraintは、テーブルに対するチェック、プライマリキー、一意、外部キー、および除外制約を格納します。 (列制約は特別に扱われません。 すべての列制約は、あるテーブル制約と同等です。nullでない制約は、pg_attributeカタログで表されますが、ここではありません。ユーザー定義の制約トリガー (CREATE constraint TRIGGERで作成) もこのテーブルにエントリを作成します。ドメインのチェック制約もここに格納されます。
列 | データ型 | 説明 |
|
| 行識別子。 |
|
| 制約名 (必ずしも一意ではありません!) 。 |
|
| この制約を含む名前空間のOID。 |
|
|
|
|
| 制約は延期可能ですか? |
|
| 制約はデフォルトで延期されますか? |
|
| 制約は検証されましたか? 現在、外部キーとCHECK制約に対してのみfalseにすることができます。 |
|
| この制約がオンのテーブル。テーブル制約でない場合はゼロ。 |
|
| この制約がオンであるドメインは、ドメイン制約でない場合はゼロである。 |
|
| この制約をサポートするインデックスは、一意の主キー、外部キー、または除外制約の場合はゼロです。 |
|
| これがパーティション上の制約である場合、親パーティション分割テーブルの対応する制約。 |
|
| 外部キーの場合、参照されたテーブル。他はゼロ。 |
|
| 外部キー更新アクションコード:
|
|
| 外部キー削除アクションコード:
|
|
| 外部キーマッチタイプ:
|
|
| この制約は、関係に対して局所的に定義される。 制約は、ローカルに定義され、同時に継承され得ることに留意する。 |
|
| この制約が持つ直接継承祖先の数。 祖先の数がゼロでない制約は、削除することも名前を変更することもできません。 |
|
| この制約は、関係に対して局所的に定義される。 これは継承できない制約です。 |
|
| テーブル制約 (外部キーを含むが、制約トリガは含まない) の場合、制約された列のリスト。 |
|
| 外部キーの場合、参照される列のリスト。 |
|
| 外部キーの場合、PK = FK比較のための等性演算子のリスト。 |
|
| 外部キーの場合、PK = PK比較の等価演算子のリスト。 |
|
| 外部キーの場合、FK = FK比較のための等式演算子のリスト。 |
|
| 除外制約の場合は、列ごとの除外演算子を一覧表示します。 |
|
| チェック制約の場合、式の内部表現。 (チェック制約の定義を抽出するには、 |
除外制約の場合、conkeyは単純な列参照である制約要素にのみ役立ちます。 それ以外の場合は、conkeyにゼロが表示され、制約されている式を見つけるために関連するインデックスを調べる必要があります。 (したがって、conkeyは、インデックスのpg_index. indkeyと同じ内容を持ちます。)
pg_class.relchecksは、リレーションごとにこのテーブルで見つかったチェック制約エントリの数と一致する必要があります。