8
Postgresの一意の制約とインデックス
ドキュメントを理解できるので、次の定義は同等です。 create table foo ( id serial primary key, code integer, label text, constraint foo_uq unique (code, label)); create table foo ( id serial primary key, code integer, label text); create unique index foo_idx on foo using btree (code, label); ただし、Postgres 9.4のマニュアルには、次のように記載されています。 テーブルに一意性制約を追加する推奨方法はALTER TABLE ... ADD CONSTRAINTです。インデックスを使用して一意の制約を適用することは、直接アクセスすべきではない実装の詳細と考えることができます。 (編集:このメモはPostgres 9.5のマニュアルから削除されました。) それは良いスタイルの問題だけですか?これらのバリアントの1つを選択した場合の実際的な結果は何ですか(パフォーマンスなど)?
156
sql
postgresql
unique