すべてのプロダクト
Search
ドキュメントセンター

PolarDB:pg_constraint

最終更新日:May 30, 2024

カタログpg_constraintは、テーブルに対するチェック、プライマリキー、一意、外部キー、および除外制約を格納します。 (列制約は特別に扱われません。 すべての列制約は、あるテーブル制約と同等です。nullでない制約は、pg_attributeカタログで表されますが、ここではありません。ユーザー定義の制約トリガー (CREATE constraint TRIGGERで作成) もこのテーブルにエントリを作成します。ドメインのチェック制約もここに格納されます。

データ型

説明

oid

oid

行識別子。

conname

name

制約名 (必ずしも一意ではありません!) 。

connamespace

oid

この制約を含む名前空間のOID。

contype

char

  • c =チェック制約

  • f =外部キー制約

  • p =主キー制約

  • u =一意の制約

  • t =制約トリガー

  • x =除外制約

condeferrable

bool

制約は延期可能ですか?

condeferred

bool

制約はデフォルトで延期されますか?

convalidated

bool

制約は検証されましたか? 現在、外部キーとCHECK制約に対してのみfalseにすることができます。

conrelid

oid

この制約がオンのテーブル。テーブル制約でない場合はゼロ。

contypid

oid

この制約がオンであるドメインは、ドメイン制約でない場合はゼロである。

conindid

oid

この制約をサポートするインデックスは、一意の主キー、外部キー、または除外制約の場合はゼロです。

conparentid

oid

これがパーティション上の制約である場合、親パーティション分割テーブルの対応する制約。

コンブレリド

oid

外部キーの場合、参照されたテーブル。他はゼロ。

confupdtype

char

外部キー更新アクションコード:

  • a: アクションなし

  • r: 制限する

  • c: カスケード

  • n: set null

  • d: デフォルトを設定

confdeltype

char

外部キー削除アクションコード:

  • a: アクションなし

  • r: 制限する

  • c: カスケード

  • n: set null

  • d: デフォルトを設定

confmatchtype

char

外部キーマッチタイプ:

  • f: フル

  • p: partial

  • s: シンプル

conislocal

bool

この制約は、関係に対して局所的に定義される。 制約は、ローカルに定義され、同時に継承され得ることに留意する。

coninhcount

int4

この制約が持つ直接継承祖先の数。 祖先の数がゼロでない制約は、削除することも名前を変更することもできません。

connoinherit

bool

この制約は、関係に対して局所的に定義される。 これは継承できない制約です。

conkey

int2[]

テーブル制約 (外部キーを含むが、制約トリガは含まない) の場合、制約された列のリスト。

confkey

int2[]

外部キーの場合、参照される列のリスト。

conpfeqop

oid[]

外部キーの場合、PK = FK比較のための等性演算子のリスト。

conppeqop

oid[]

外部キーの場合、PK = PK比較の等価演算子のリスト。

conffeqop

oid[]

外部キーの場合、FK = FK比較のための等式演算子のリスト。

conexclop

oid[]

除外制約の場合は、列ごとの除外演算子を一覧表示します。

conbin

pg_node_tree

チェック制約の場合、式の内部表現。 (チェック制約の定義を抽出するには、pg_get_constraintdef() を使用することをお勧めします。)

除外制約の場合、conkeyは単純な列参照である制約要素にのみ役立ちます。 それ以外の場合は、conkeyにゼロが表示され、制約されている式を見つけるために関連するインデックスを調べる必要があります。 (したがって、conkeyは、インデックスのpg_index. indkeyと同じ内容を持ちます。)

説明

pg_class.relchecksは、リレーションごとにこのテーブルで見つかったチェック制約エントリの数と一致する必要があります。