2014-07-05 3 views
2

덤프 된 데이터의 사용자 이름, 데이터베이스 이름 및 스키마 이름이 배포 할 서버의 이러한 변수와 일치하도록 데이터베이스 스키마와 데이터를 덤프하는 방법은 무엇입니까?PostgreSQL을 사용하여 데이터를 원격 서버로 마이그레이션하는 방법은 무엇입니까?

나의 현재 프로세스는 두 단계로 데이터를 이동 수반한다. 첫째, 그때 pg_dump --data-only -C으로 데이터를 덤프하고 psql 명령을 사용하여 직렬로 원격 서버에서 이러한 데이터베이스 복원 (pg_dump --schema-only -C -c)의 스키마를 덤프. 그러나 이것보다 나은 방법이 있어야합니다.

+0

버전은 무엇? –

+0

덤프/복원 대신 복제를 고려 했습니까? –

+0

@DwayneTowell 복제본을 본 적이 없습니다. 복제가 다중 서버 설정에 사용 된 것 같습니다. 지금은 서버가 하나뿐입니다. 이 주제에 대한 자료를 찾을 수있는 방향을 알려줄 수 있습니까? – picardo

답변

3

다음을 사용하여 데이터베이스를 복제합니다.

pg_basebackup -x -P -D /var/lib/pgsql/9.2/data -h OTHER_DB_IP_ADDR -U postgres 

그것은 OTHER_DB_IP_ADDR에서 "마스터"서버가 필요

복제 서비스를 실행하고 pg_hba.conf 복제 연결을 허용해야합니다. 복제를 위해 핫/웜 스탠드로 "슬레이브"서비스를 실행할 필요는 없습니다. 이 방법의 한 가지 단점은 덤프/복원과 비교할 때 복원 작업은 효과적으로 복제 및 재 인덱싱하고 모든 복제를 리셋하지만 복제는 수행하지 않으므로 데이터베이스를 많이 편집 한 경우 복제가 약간 더 많은 디스크 공간을 사용할 수 있습니다. 반면 인덱스를 다시 빌드 할 필요가 없으므로 복제가 훨씬 빠릅니다 (우리의 경우 3 시간 15 분).

몇 가지 유용한 참조 : PostgreSQL을의

http://opensourcedbms.com/dbms/setup-replication-with-postgres-9-2-on-centos-6redhat-el6fedora/

http://www.postgresql.org/docs/9.2/static/high-availability.html

http://www.rassoc.com/gregr/weblog/2013/02/16/zero-to-postgresql-streaming-replication-in-10-mins/

+0

많은 많은 감사. – picardo

관련 문제