Exclusion Constraint Dialog¶
除外制約 ダイアログを使用して、除外制約の動作を定義または変更します。除外制約は、指定された列または式で(指定された演算子を使用して)2つの行を比較した場合、少なくとも1つの演算子比較がfalseまたはnullを返すことを保証します。
除外制約 ダイアログは、次のダイアログタブを使用して除外制約の開発を編成します。 一般 、 定義 、および 列 。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。
[ General ]タブのフィールドを使用して、除外制約を特定します。
Name フィールドを使用して、除外制約に説明的な名前を付けます。名前は pgAdmin ツリーコントロールに表示されます。
[ 定義 ]タブをクリックして続行します。
[ 定義 ]タブのフィールドを使用して、除外制約を定義します。
Tablespace の横にあるドロップダウンリストボックスを使用して、除外制約に関連付けられたインデックスが存在するテーブルスペースを選択します。
アクセス方法 の横にあるドロップダウンリストボックスを使用して、除外制約を実装するときに使用されるインデックスの種類を指定します。
gist を選択して、GiSTインデックスを指定します。
spgist を選択して、スペースパーティション分割されたGiSTインデックスを指定します。
btree を選択して、Bツリーインデックスを指定します。
hash を選択して、ハッシュインデックスを指定します。
FillFactor フィールドを使用して、テーブルと関連するインデックスのFILLFACTORを指定します。フィルファクターは10〜100のパーセンテージです。デフォルトは100(完全なパッキング)です。
Deferrable? スイッチを Yes の位置に移動して、制約のタイミングが遅延可能であり、ステートメントの最後まで延期できることを指定します。デフォルトは いいえ です。
有効になっている場合、 Deferred? スイッチを Yes の位置に移動して、制約のタイミングをステートメントの最後に延期することを指定します。デフォルトは いいえ です。
Constraint フィールドを使用して、行をテーブルに含めるために満たす必要がある条件を提供します。
[ 列 ]タブをクリックして続行します。
Columns タブのフィールドを使用して、制約を適用する列または式を指定します。 Isexpression? スイッチを使用して、式のテキスト入力を有効にします。 Column の横にあるドロップダウンリストボックスを使用して、列を選択します。 列 を選択するか、 式 を入力したら、 追加 アイコン(+)をクリックして、列/式のアクションの詳細を提供します。
Col/Exp フィールドには、 Column ドロップダウンリストボックスで行われた選択、または入力された Expression が入力されます。
該当する場合、 演算子クラス のドロップダウンリストボックスを使用して、列のインデックスで使用される演算子クラスを指定します。
DESC スイッチを DESC に移動して、降順の並べ替え順序を指定します。デフォルトは ASC で、昇順のソート順を指定します。
NULLオーダー 列を使用して、NULL値の配置を指定します(ソート時)。 FIRST または LAST を指定します。
Operator の横にあるドロップダウンリストを使用して、比較または条件演算子を指定します。
Includecolumns フィールドを使用して、制約の INCLUDE 句の列を指定します。このオプションは、Postgres11以降で使用できます。
SQL タブをクリックして続行します。
ExclusionConstraint ダイアログに入力すると、SQLコマンドが生成されます(以下の例を参照)。レビューには SQL タブを使用します。再アクセスするかタブを切り替えて、SQLコマンドを変更します。
例¶
以下は、 ExclusionConstraint ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。
示されている例は、 ex_dept_no という名前の除外制約の作成を示しています。制約はbtreeインデックスを使用します。
Info ボタン(i)をクリックして、オンラインヘルプにアクセスします。
Save ボタンをクリックして作業を保存します。
Close ボタンをクリックして、作業を保存せずに終了します。
Reset ボタンをクリックして、構成パラメーターを復元します。