pg_restore.exe
데이터베이스에서 덤프 파일 을 실행하려고하면 수십 가지 오류가 모두 발생합니다.
ERROR: insert or update on table "someTable" violates foreign key constraint "aConstraintName"
이것은 분명히 덤프 파일에서 데이터베이스를 복원하기 전에 데이터베이스를 비웠다는 사실 때문입니다. ...
호출하기 전에 모든 테이블에 대해 제약 조건 및 모든 외래 키를 비활성화 pg_restore.exe
하고 나중에 제약 조건 및 외래 키를 다시 활성화 하는 방법이 있습니까?
SO에서 흥미로운 점을 발견했습니다 : 시간을 커밋하기 위해 제약 조건 검사 연기 . 그러나 제약 조건을 연기 한 후 pg_restore.exe
내부에서 전화 할 수 있다고 생각하지 않습니다 psql.exe
.
10 년 전으로 거슬러 올라간 이 게시물 도 있으며, 제약 조건을 삭제하고 다시 추가 할 것을 제안합니다. 또는 pg_class reltriggers의 값을 0으로 변경하면 제약 조건에서도 가능합니다 ...하지만 좋은 연습보다 해킹이 더 두렵습니다 ...
이 경우 가장 좋은 방법은 무엇입니까? 사용 pg_dump.exe
와 -clean
플래그 데이터베이스를 복원 할 때 검사 제약을 우회 덤프를 작성?