2.3. デフォルト値

列にはデフォルトの値を割り当てることができます。 新しく作成された行のいくつかの列に値が指定されていない場合、そうした空欄にはそれぞれの列のデフォルト値が入ります。 データ操作コマンドを使用して、列をデフォルト値 (それがどのような値かを知らなくても) に設定するように明示的に要求することもできます。 (データ操作コマンドの詳細については Chapter 3 を参照してください。)

明示的に宣言されたデフォルト値がない場合は、null 値がデフォルトになります。 null 値は不明のデータを表すものと考えることができるので、通常はこの方法で問題ありません。

テーブル定義では、デフォルト値は列データ型の後にリストされています。例を示します。

CREATE TABLE products (
    product_no integer PRIMARY KEY,
    name text,
    price numeric DEFAULT 9.99
);

デフォルト値をスカラー式にすることができます。スカラー式は、デフォルト値が挿入される度に評価されます (テーブルの作成時を除きます)。