Unique Constraint Dialog¶
ユニーク制約 ダイアログを使用して、指定したテーブルのユニーク制約を定義します。一意性制約は、列または列のグループに含まれるデータが、テーブル内のすべての行で一意であることを保証します。
ユニークな制約 ダイアログは、次のダイアログタブを介してユニークな制約の開発を整理します: 一般 および 定義 。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。
[ General ]タブのフィールドを使用して、一意の制約を識別します。
Name フィールドを使用して、一意性制約の説明的な名前を追加します。名前は pgAdmin ツリーコントロールに表示されます。
[ 定義 ]タブをクリックして続行します。
[ Definition ]タブのフィールドを使用して、一意の制約を定義します。
Columns フィールド内をクリックし、ドロップダウンリストボックスから1つ以上の列名を選択します。選択を削除するには、列名の左側にある x をクリックします。ユニーク制約は、同じテーブルに対して定義された主キー制約とは異なる必要があります。制約に対して選択された列は個別である必要があります。
Includecolumns フィールドを使用して、制約の INCLUDE 句の列を指定します。このオプションは、Postgres11以降で使用できます。
Tablespace フィールドのドロップダウンリストボックスから、一意性制約が存在するテーブルスペースの名前を選択します。
Index フィールドのドロップダウンリストボックスからインデックスの名前を選択します。このフィールドはオプションです。一意性制約を追加すると、制約にリストされている列または列のグループに一意のBツリーインデックスが自動的に作成され、列が強制的にNOTNULLとマークされます。
FillFactor フィールドを使用して、テーブルとインデックスのFILLFACTORを指定します。テーブルのフィルファクターは、10〜100のパーセンテージです。デフォルトは100(完全なパッキング)です。
Deferrable? スイッチを Yes の位置に移動して、制約が遅延可能であり、ステートメントの最後まで延期できるタイミングを指定します。デフォルトは いいえ です。
有効になっている場合、 Deferred? スイッチを Yes の位置に移動して、制約のタイミングをステートメントの最後に延期することを指定します。デフォルトは いいえ です。
NULLsnotdistinct? スイッチを Yes の位置に移動して、null値を区別できないものとして扱います。デフォルトは いいえ です。このオプションは、PostgreSQL15以降でのみ使用できます。
SQL タブをクリックして続行します。
一意の制約 ダイアログに入力すると、SQLコマンドが生成されます(以下の例を参照)。レビューには SQL タブを使用します。再アクセスするかタブを切り替えて、SQLコマンドを変更します。
例¶
以下は、 ユニークな制約 ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。
示されている例は、 jobhist テーブルの empno 列に jobhist_unique という名前付けの一意性制約を作成する方法を示しています。
Info ボタン(i)をクリックして、オンラインヘルプにアクセスします。
Save ボタンをクリックして作業を保存します。
Close ボタンをクリックして、作業を保存せずに終了します。
Reset ボタンをクリックして、構成パラメーターを復元します。