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