DBAtlas · データベース運用アトラス

42P07: duplicate_table

PostgreSQL

意味

作成しようとしたテーブル (または類似のオブジェクト) がすでに存在する。同じ名前のオブジェクトがあるため CREATE が失敗した。

原因

既存のテーブルを CREATE TABLE で再作成した、スクリプトを 2 回実行した、マイグレーションを再適用した、または同名のビュー/シーケンス/インデックスとの名前の衝突。

対処方法

オブジェクトがすでに存在する場合に作成をスキップするには IF NOT EXISTS を使う: CREATE TABLE IF NOT EXISTS my_table (...)。本当に作り直したい場合は先に削除する: DROP TABLE IF EXISTS my_table; マイグレーションを再実行しても安全 (冪等) にする。既存オブジェクトは \dt で確認する。

DBAtlas で開く →

同じデータベースの他の項目