Column Dialog

Column ダイアログを使用して、既存のテーブルに列を追加したり、列定義を変更したりします。

Column ダイアログは、次のダイアログタブを介して列の開発を整理します: General 、 Definition 、および Security 。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。

列ダイアログの一般タブ

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

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

  • コメント フィールドに列に関するメモを保存します。

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

列ダイアログ定義タブ

[ 定義 ]タブのフィールドを使用して、列のパラメーターを追加します。(該当しない場合、フィールドは無効になります。)

  • DataType の横にあるドロップダウンリストボックスを使用して、列のデータ型を選択します。PostgreSQLでサポートされているデータ型の詳細については、Postgresコアドキュメントの第8章を参照してください。このフィールドは必須です。

  • Length/Precision および Scale フィールドを使用して、数値の最大有効桁数、またはテキスト値の最大文字数を指定します。

  • Collation の横にあるドロップダウンリストボックスを使用して、列に照合設定を適用します。

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

列ダイアログの制約タブ

Constraints タブのフィールドを使用して、列の制約を指定します。(該当しない場合、フィールドは無効になります。)

  • DefaultValue フィールドを使用して、デフォルトのデータ値を指定します。

  • NotNull スイッチを Yes の位置に移動して、列にnull値を含めないことを指定します。デフォルトは いいえ です。

  • Type フィールドを使用して、列のタイプ(NONE/IDENTITY/GENERATED)を指定します。デフォルトは NONE です。

IDENTITY タイプをクリックして、Identity列を作成します。

列ダイアログの制約タブ

次のフィールドを使用して、 IDENTITY 列を作成します。ID列は、PG/EPAバージョン10以降に適用できます。

  • Identity フィールドを使用して、ALWAYSまたはBYDEFAULTを指定します。この句は、INSERTステートメントでシーケンス値がユーザー指定の値よりも優先される方法を決定するために使用されます。

  • Increment フィールドを使用して、新しい値を作成するために現在のシーケンス値に追加される値を指定します。

  • Start フィールドに値を入力して、シーケンスの開始値を指定します。デフォルトの開始値は、昇順の場合はMINVALUE、降順の場合はMAXVALUEです。

  • Minimum フィールドに値を入力して、シーケンスが生成できる最小値を指定します。この句が指定されていない場合、またはNOMINVALUEが指定されている場合、デフォルトが使用されます。昇順と降順のデフォルトは、それぞれ1と-263-1です。

  • Maximum フィールドに値を入力して、シーケンスの最大値を指定します。この句が指定されていない場合、またはNOMAXVALUEが指定されている場合、デフォルト値が使用されます。デフォルトは、昇順と降順でそれぞれ263-1と-1です。

  • Cache フィールドに値を入力して、アクセスを高速化するために事前に割り当ててメモリに格納するシーケンス番号の数を指定します。最小値は1(一度に生成できる値は1つだけ、つまりキャッシュなし)であり、これはデフォルトでもあります。

  • Cycled スイッチを Yes の位置に移動して、昇順または降順のシーケンスがそれぞれMAXVALUEまたはMINVALUEに達したときにシーケンスがラップアラウンドできるようにします。制限に達すると、次に生成される数値はそれぞれMINVALUEまたはMAXVALUEになります。デフォルトは いいえ です。

GENERATED タイプをクリックして、Generated列を作成します。

列ダイアログの制約タブ

次のフィールドを使用して、 GENERATED 列を作成します。生成された列は、PG/EPASバージョン12以降に適用できます。

  • Expression フィールドを使用して、生成式を指定します。テーブル内の他の列を参照できますが、他の生成された列は参照できません。使用される関数と演算子はすべて不変である必要があります。他のテーブルへの参照は許可されていません。

[ 変数 ]タブをクリックして続行します。

列ダイアログ変数タブ

変数 タブを使用して、列に存在する可能性のある個別の値の数を指定します。この値は、ANALYZEコマンドによる推定をオーバーライドします。 追加 アイコン(+)をクリックして、 名前 / 値 のペアを追加します。

  • Name フィールドのドロップダウンリストボックスから変数の名前を選択します。

    • n_distinct を選択して、列の個別の値の数を指定します。

    • n_distinct_inherited を選択して、テーブルとその子の個別の値の数を指定します。

  • Value フィールドに個別の値の数を指定します。詳細については、 ALTER TABLE のドキュメントを参照してください。

追加 アイコン(+)をクリックして、追加の 名前 / 値 のペアをそれぞれ指定します。変数を破棄するには、行の左側にあるゴミ箱アイコンをクリックし、 DeleteRow ポップアップで削除を確認します。

[ セキュリティ ]タブをクリックして続行します。

列ダイアログのセキュリティタブ

[ セキュリティ ]タブを使用して、属性を割り当て、セキュリティラベルを定義します。 Add アイコン(+)をクリックして、各セキュリティラベルの選択を追加します。

  • Provider フィールドでセキュリティラベルプロバイダーを指定します。名前付きプロバイダーをロードし、提案されたラベル付け操作に同意する必要があります。

  • SecurityLabel フィールドにセキュリティラベルを指定します。特定のラベルの意味は、ラベルプロバイダーの裁量にあります。PostgreSQLは、ラベルプロバイダーがセキュリティラベルを解釈する必要があるかどうか、またはどのように解釈するかについて制限を設けていません。それらを格納するメカニズムを提供するだけです。

Add アイコン(+)をクリックして、追加のセキュリティラベルを割り当てます。セキュリティラベルを破棄するには、行の左側にあるゴミ箱アイコンをクリックし、 DeleteRow ポップアップで削除を確認します。

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

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

例

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

列ダイアログSQLタブ

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

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

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

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

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