PostgreSQLでテーブルを作成する場合、指定されていない場合はデフォルトの制約名が割り当てられます。
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
しかしALTER TABLE
、制約を追加するために使用すると、名前が必須のようです。
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
これにより、私が取り組んだプロジェクトで名前の不一致が発生し、次の質問が表示されます。
テーブルの作成中に追加された場合に受け取る名前で、既存のテーブルに制約を追加する簡単な方法はありますか?
そうでない場合は、不整合を防ぐためにデフォルト名を完全に回避する必要がありますか?