7.4. 一意なインデックス

インデックスはカラム値の一意性や、一つ以上のカラムを統合した値の 一意性を強制するためにも使うことができます。

CREATE UNIQUE INDEX name ON table (column [, ...]);
B-tree インデックスだけが一意であると宣言されることができます。

インデックスが一意であると宣言されると、同じインデックスの値を持つ テーブルの複数の行は許されなくなります。NULL 値は同じとは見なされません。

PostgreSQLは一意な制約か主キーを持つテーブル が宣言されると自動的に一意なインデックスを作ります。これは制約 を強制するために、主キーか一意なカラム(必要ならば、マルチ カラムインデックス) を作るカラム上に作られます。一意な制約を追加するために、 一意なインデックスはその後いつでもテーブルに追加することができます。 (しかし、主キーはテーブル作成後は追加することができません。)