DBAtlas · 데이터베이스 운영 아틀라스

42P07: duplicate_table

PostgreSQL

의미

생성하려는 테이블(또는 유사 객체)이 이미 존재한다. 같은 이름의 객체가 있어 CREATE가 실패했다.

원인

CREATE TABLE로 기존 테이블을 다시 생성. 스크립트를 두 번 실행. 마이그레이션 재적용. 같은 이름의 뷰/시퀀스/인덱스와 이름 충돌.

해결 방법

객체가 이미 존재하면 생성을 건너뛰도록 IF NOT EXISTS를 사용한다: CREATE TABLE IF NOT EXISTS my_table (...). 정말로 다시 생성하려면 먼저 삭제한다: DROP TABLE IF EXISTS my_table; 마이그레이션을 재실행해도 안전하게(멱등하게) 만든다. \dt로 기존 객체를 확인한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목