Primary key Dialog

主キー ダイアログを使用して、主キー制約を作成または変更します。主キー制約は、列または列のグループがテーブル内の行を一意に識別することを示します。これには、選択した列の値が一意であり、null以外である必要があります。

主キー ダイアログは、 一般 および 定義 タブを通じて主キー制約の開発を編成します。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。

主キーダイアログの一般タブ

[ General ]タブのフィールドを使用して、主キーを識別します。

  • Name フィールドを使用して、主キー制約の説明的な名前を追加します。名前は pgAdmin ツリーコントロールに表示されます。

[ 定義 ]タブをクリックして続行します。

主キーダイアログ定義タブ

[ 定義 ]タブのフィールドを使用して、主キー制約を定義します。

  • Columns フィールド内をクリックし、ドロップダウンリストボックスから1つ以上の列名を選択します。選択を削除するには、列名の左側にある x をクリックします。主キー制約は、同じテーブルに対して定義された一意の制約とは異なる必要があります。制約に対して選択された列は個別である必要があります。

  • Includecolumns フィールドを使用して、インデックスの INCLUDE 句の列を指定します。このオプションは、Postgres11以降で使用できます。

  • Tablespace フィールドのドロップダウンリストボックスから、主キー制約が存在するテーブルスペースの名前を選択します。

  • Index フィールドのドロップダウンリストボックスからインデックスの名前を選択します。このフィールドはオプションです。主キーを追加すると、主キーにリストされている列または列のグループに一意のBツリーインデックスが自動的に作成され、列にNOTNULLのマークが強制されます。

  • FillFactor フィールドを使用して、テーブルとインデックスのFILLFACTORを指定します。テーブルのフィルファクターは、10〜100のパーセンテージです。デフォルトは100(完全なパッキング)です。

  • Deferrable? スイッチを Yes の位置に移動して、制約が遅延可能であり、ステートメントの最後まで延期できるタイミングを指定します。デフォルトは いいえ です。

  • 有効になっている場合、 Deferred? スイッチを Yes の位置に移動して、制約のタイミングをステートメントの最後に延期することを指定します。デフォルトは いいえ です。

SQL タブをクリックして続行します。

プライマリキー ダイアログに入力すると、SQLコマンドが生成されます(以下の例を参照)。レビューには SQL タブを使用します。再アクセスするかタブを切り替えて、SQLコマンドを変更します。

例

以下は、 プライマリキー ダイアログでのユーザー選択によって生成されたsqlコマンドの例です。

主キーダイアログSQLタブ

ここに示す例は、 jobhist テーブルの empno 列に jobhist_pk という名前の主キー制約を作成する方法を示しています。

  • Info ボタン(i)をクリックして、オンラインヘルプにアクセスします。

  • Save ボタンをクリックして作業を保存します。

  • Close ボタンをクリックして、作業を保存せずに終了します。

  • Reset ボタンをクリックして、構成パラメーターを復元します。