안타깝게도 SQL 92 표준으로 되어 있는 ALTER CONSTRAINT 구문이 PostgreSQL 에서는 지원되질 않습니다. 그러다 보니 이를 수정하기 위해서는 방법은 한가지 밖에 없습니다.
테이블을 덤프를 받은 다음 테이블 구조를 변경한 다음 다시 restore 시켜 주는 방법입니다. 물론 자료 양이 많을 경우네는 엄청난 시간을 요한다는 것 잘 알고 있으며, 비효율적이라는 것도 알고 있습니다. 하지만 다른 방법이 없군요.
=========================
여기까지는 공식적인 발언이고....
자신의 책임하에서 할수 있는 또 다른 방법이 하나 더 있습니다. 안정성이 검증된 방법은 아니므로 반드시 자료를 백업 받으신 후에 하시기 바랍니다.
아래 URL 을 읽어 보시면 catalog table 을 직접 수정하는 방법이 제시되고 있습니다. 읽어 보시기 바랍니다.
http://database.sarang.net/?inc=read&aid=3527&criteria=pgsql&subcrit=qna&record_idx=4&currpg=0&keyword=constraint
-- 박종수 님이 쓰신 글:
>> 안녕하세요..
>> 포스트그래스로 작업을 하는 중인데..
>> 고객의 요구의 변경으로 부득이 하게
>> 제약조건을 변경을 하게 되었습니다.
>> 그런데 생각처럼 쉽게 되지가 않네여.
>>
>> 예) NOT NULL --> NULL로 UNIQUE를 NON-UNIQUE로
>> 변경하고자 합니다..제발 도와주세요..
|