서버 A의 Postgres를 서버 B에 pg_restore로 구성합니다(인증서 인증 필요).

서버 A의 Postgres를 서버 B에 pg_restore로 구성합니다(인증서 인증 필요).

SERVER_A에서 실행되는 PostgreSQL 인스턴스를 구성하여 SERVER_B의 다른 PostgreSQL 인스턴스에 연결하려고 합니다. 저는 궁극적으로 SERVER_B에 있는 데이터베이스에 pg_restore를 연결하고 실행해야 하는 SERVER_A에서 쉘 스크립트를 실행하고 있습니다.

SERVER_B는 Amazon의 AWS에 있습니다. 일반적으로 머신에 SSH로 연결하려면 다음 명령을 실행합니다.

# ssh -i .ssh/server-dev.pem [email protected]
[root@dev]# ssh -i .ssh/dev1mac 0.0.0.0

...Postgres 인스턴스가 0.0.0.0에 있는 경우

위의 정보를 사용하여 SERVER_A에서 Postgres를 구성하는 방법을 설명해 줄 수 있는 사람이 있습니까? 나는 pg_hba.conf를 조사해 왔지만 솔직히 이전에 이 작업을 수행한 적이 없으며 문서에서도 원하는 결과를 얻는 방법이 명확하지 않습니다. Postgres 구성을 모두 건너뛰고 대신 쉘 스크립트에서 일련의 명령을 실행하여 복원을 수행할 수 있는 더 쉬운 방법이 있습니까?

어떤 도움이라도 주시면 감사하겠습니다. 감사합니다!

답변1

SERVER_A현재 실행 중인 DB 인스턴스에 덤프 파일을 pg_restore하려는 경우에는 SERVER_B다음과 같이 쉽습니다.

SERVER_A # cat dump_file | ssh SERVER_B pg_restore

(pg_restore에 필요한 옵션을 포함하되 파일 이름은 지정하지 마십시오.포스트그레스 매뉴얼, If [filename is] not specified, the standard input is used.)

scp( 덤프 파일을 다시 만든 다음 의 파일을 사용하여 복원을 실행할 수도 있지만 SERVER_B위의 내용은 모든 작업을 수행하는 하나의 스크립트를 실행하려는 목표에 더 부합하는 것 같습니다 SERVER_A.)

관련 정보