pg_constraint #
pg_constraintカタログはテーブル上の検査制約、主キー制約、一意性制約、外部キー制約、排他制約を格納します
(列制約は特別扱いされていません。
全ての列制約は何らかのテーブル制約と同等です。)
非NULL制約はここではなく、pg_attributeカタログで示されます。
  
(CREATE CONSTRAINT TRIGGERで作成される)ユーザ定義の制約トリガもこのテーブルの項目の元になります。
  
ドメイン上の検査制約もここに格納されます。
表53.13 pg_constraintの列
| 列 型 説明 | 
|---|
| 
        行識別子 | 
| 
        制約名(一意である必要はありません!) | 
| 
        この制約を含む名前空間のOID | 
| 
        
 | 
| 
        制約は遅延可能かどうか? | 
| 
        制約はデフォルトで遅延可能かどうか? | 
| 
        制約が検証されているか? 現時点では外部キーとチェック制約の場合のみfalseになる可能性があります | 
| 
        この制約が存在しているテーブル。 テーブル制約でなければゼロ | 
| 
        この制約が存在しているドメイン。 ドメイン制約でなければゼロ | 
| 
        一意性制約、主キー制約、外部キー制約、排他制約の場合、この制約をサポートするインデックス。 そうでなければゼロ | 
| 
        パーティション内の制約なら、親パーティションテーブルの該当制約。 そうでなければゼロ | 
| 
        外部キーであれば、参照されるテーブル。 そうでなければゼロ | 
| 
        
外部キー更新アクションコード:
 | 
| 
        
外部キー削除アクションコード:
 | 
| 
        
外部キーの一致型:
 | 
| 
        この制約はリレーションでローカルに定義されています。制約はローカルに定義されていて同時に継承されます。 | 
| 
        この制約がもつ直系の先祖の数。 先祖の数がゼロではない制約は削除や改名はできません。 | 
| 
        この制約はリレーションのためにローカルで定義されます。これは非継承制約です。 | 
| 
        テーブル制約(外部キーを含みますが制約トリガは含みません)であれば、その制約によって制約される列のリスト | 
| 
        外部キーであれば、参照される列のリスト | 
| 
        外部キーであれば、PK = FKの比較のための同値演算子のリスト | 
| 
        外部キーであれば、PK = PKの比較のための同値演算子のリスト | 
| 
        外部キーであれば、FK = FKの比較のための同値演算子のリスト | 
| 
        
外部キーに | 
| 
        排他制約の場合、列単位の排他演算子のリスト | 
| 
        
チェック制約なら式の内部表現。( | 
排他制約の場合、単純な列参照である制約要素でのみconkeyが有用です。
その他の場合、conkeyはゼロであり、関連するインデックスは制約される式を調査して見つけなければなりません。
(したがってインデックスではconkeyはpg_index.indkeyの内容と同じものを持ちます。)
  
pg_class.relchecksはそれぞれのリレーションに対してこのテーブルで検出された検査制約の項目数と一致しなければなりません。