상기님의 도움으로 pg_dump와 psql명령으로 백업과 복구하는 법을
알았는데,
psql명령으로는 새로운 데이터베이스로는 복원이 잘 안되어서
pg_restore로 해보려 합니다.
(예) test라는 데이터베이스를 pg_dump를 이용해서 백업했을때,
psql -U postgres -f test.sql template1 명령을 이용해서 기존의
test데이터베이스가 자동
생성되면서 복원은 되는데,
새로운 데이터베이스 test2라는 곳에 복원을 하려 하면 잘 되지가
않네요....
그러던 참에 상기님 자료를 참고해서
pg_dump -h localhost -U postgres -Fc -f test.backup
test로 백업을 하고
pg_restore -h localhost -U postgres
-Ft -C -d test test.backup 명령으로
복구를 하려 하는데 다음과 같은 에러가 발생하네요
==================================================================================
pg_restore: [tar archiver] corrupt tar header found in PGDMP
<expected 0, computed 19579>
file position 512
==================================================================================
실행은 도스프롬프트(cmd)상에서 했습니다.
백업은 test라는 데이터베이스를 백업했구요,
복원시에 test라는 데이터베이스를 새로 생성하기 전에(drop후)
실행했을때와
test라는 데이터베이스를 새로 생성후에실행했을때와 에러가
위와같이 똑같네요
현재 버전은 8.0이고 윈도우XP상에서 사용중입니다.
혼자서도 이래저래 많이 해봤지만, 답은 나오지 않고, 어디
물어볼곳도 마땅치 않아
이곳에 잦은 질문을 올리네요
바쁜 시간 쪼개서 답변 달아주셔서 정말 감사드립니다...^^
|