프로그래밍 언어/Database

PostgreSQL 데이터베이스를 다른 서버로 복사

Rateye 2021. 6. 6. 11:05
728x90
반응형
질문 : PostgreSQL 데이터베이스를 다른 서버로 복사

프로덕션 PostgreSQL 데이터베이스를 개발 서버에 복사하려고합니다. 이 작업을 수행하는 가장 빠르고 쉬운 방법은 무엇입니까?

답변

중간 파일을 만들 필요가 없습니다. 넌 할 수있어

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

또는

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

psql 또는 pg_dump 를 사용하여 원격 호스트에 연결합니다.

데이터베이스가 크거나 연결 속도가 느린 경우 파일을 덤프하고 압축 된 파일을 전송하는 것이 더 빠를 수 있습니다.

Kornel은 중간 파일에 덤프 할 필요가 없다고 말했듯이 압축 작업을하려면 압축 된 터널을 사용할 수 있습니다.

pg_dump -C dbname | bzip2 | ssh  remoteuser@remotehost "bunzip2 | psql dbname"

또는

pg_dump -C dbname | ssh -C remoteuser@remotehost "psql dbname"

하지만이 솔루션은 양쪽에서 세션을 가져와야합니다.

참고 : pg_dumppsql 은 복원 용입니다. 따라서이 답변의 첫 번째 명령은 로컬에서 원격으로 복사하고 두 번째 명령은 원격에서 로컬로 복사하는 것입니다 . 더보기-> https://www.postgresql.org/docs/9.6/app-pgdump.html

출처 : https://stackoverflow.com/questions/1237725/copying-postgresql-database-to-another-server
728x90
반응형