Nice programing

PostgreSQL에서 제약 이름 업데이트

nicepro 2020. 10. 20. 08:09
반응형

PostgreSQL에서 제약 이름 업데이트


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

하지만 다른 유형의 제약 조건에서는 작동하지 않습니다. 가장 좋은 방법은 이전 것을 버리고 새 것을 만드는 것입니다. 트랜잭션 내에서 수행해야하므로 재 구축 중에 시스템이 작동하지 않습니다. (트랜잭션에서 할 수없는 경우 , 이전 항목을 삭제하기 전에 먼저 새 항목을 만들어야합니다. )


PostgreSQL 9.2 이상에서 기존 제약 조건의 이름을 바꾸려면 ALTER TABLE을 사용할 수 있습니다 .

ALTER TABLE name RENAME CONSTRAINT constraint_name TO new_constraint_name;

참고 URL : https://stackoverflow.com/questions/971786/constraint-name-update-in-postgresql

반응형