2009-03-26 6 views
5

pg_dump 파일에서 데이터베이스를 복원하려면 항상 데이터베이스를 삭제 한 다음 만들어야합니까? 데이터베이스를 삭제하지 않으면 일부 레지스터가 이미 데이터베이스에 있어도 (즉 데이터가 중복 되어도) 복원중인 데이터가 DB의 현재 데이터에 추가됩니다.PostgreSQL 데이터베이스 복원

답변

6

pg_dump를 실행하는 동안 -c (--clean) 옵션을 사용할 수 있으므로 덤프에 적절한 DROP ... 명령이 포함됩니다.

그러나 일반적으로, 나는 "어려운 방법"갈 제안 : 데이터베이스에 이전했다로부터 어떤에는 "왼쪽 오버"가 없다는 것을 확신 이런 식으로

dropdb ... 
createdb ... 
psql -d ... -f dump.file 

합니다.

+0

해결책에 대한 또 다른 좋은 점은 삭제 된 레코드 공간을 되찾기 위해 VACUUM FULL을 수행 할 필요가 없다는 것입니다. – bortzmeyer