2014-09-20 2 views
2

거대한 데이터베이스를 덤프하는 중입니다. 그리고 pg_dump는 많은 시간이 걸립니다. 데이터베이스를 새 서버로 전송해야합니다. 나는 많은 온라인 검색을 해왔지만, 모두는 데이터베이스를 덤프하는 동일한 방법을 제안한 다음 파일을 전송하고 새 서버에 복원합니다. 이 작업을 빠르게 수행 할 수있는 다른 방법이 있습니까?pg_dump를 사용하지 않고 postgres 데이터베이스를 다른 서버로 옮깁니다.

v 8.4.20에서 v 9.3.5까지의 데이터를 전송해야합니다. 난 그냥/var/lib/pgsql/data/base 폴더를 전송할 수 있습니까 ?? Copying PostgreSQL database to another server

빠르고 일반적인 방법보다이 방법인가 :

나는이 바라 보았다?

내 데이터베이스에는 756,000 개의 테이블이 있으며 크기는 200GB입니다.

답변

2

the documentation에 따르면 파일 시스템 백업을 수행 할 수 있습니다. 버전을 변경하고 파일이 pg_dump의 출력보다 훨씬 작을 것이라고 기대하지 않으면 작동하지 않을 것입니다. 연결 한 대답은 파일에 쓰지 않고 pg_dump를 사용하지만 대상 서버로 직접 스트리밍하는 것입니다. 그 옵션은 네트워크에 따라 다릅니다. 파일을 새 서버에 복사하고 두 버전을 병렬로 실행하고 대상 시스템에서 새 버전으로 직접 덤프 할 수도 있습니다. 어떤 옵션이 가장 좋을까요? 하드웨어, 네트워크 연결에 크게 의존합니다 ...

1

주요 문제는 새로운 서버로 이동하고 있습니다. 200GB를 이동하는 데는 어느 정도 시간이 걸릴 것입니다. 디스크로 덤프 한 다음 새 서버로 운반하거나 디스크를 보내는 것이 더 빠를 수도 있습니다. 그러면 200GB의 데이터가 전송되는 것을 피할 수 있습니다.

아마도 이전 서버에 9.3을 설치 한 다음 pg_upgrade을 사용할 수 있습니다. PostgreSQL의 여러 버전을 실행하는 것이 일반적입니다. 각 포트마다 다른 포트 번호를 지정하십시오. 그 작업을 마치면 이전 서버 에서 동일한 서버 버전의 PostgreSQL을 사용하여 새 서버 - alternative methods of backup and restore 중 하나가 가능해집니다.

관련 문제