1. ホーム
  2. postgresql

[解決済み] PostgreSQL の制約名更新

2022-10-17 01:44:52

質問

Postgresで制約名を変更することは可能でしょうか? で追加したPKを持っています。

ALTER TABLE contractor_contractor ADD CONSTRAINT commerce_contractor_pkey PRIMARY KEY(id);

そして、システムの他の部分と一貫性を持たせるために、別の名前にしたいのです。 既存のPK制約を削除して、新しい制約を作成しなければなりませんか。または、それを管理するための「ソフト」な方法がありますか? 管理する方法はありますか?

ありがとうございます!

どのように解決するのですか?

主キーの場合は、そのままでいいでしょう。

ALTER INDEX commerce_contractor_pkey RENAME TO whatever_new_name

他のタイプの制約ではうまくいきませんが。 最良の選択肢は、古いものを削除し、新しいものを作成することです。再構築中にシステムがそれなしで動作しないように、必ずトランザクション内でそれを行ってください。(そして、トランザクション内でそれを行うことができない場合、新しいものを作成することを確認してください。 を最初に作成します。 を作成してから、古いものを削除してください)。