SERVER_A で実行されている PostgreSQL インスタンスを、SERVER_B にある別の PostgreSQL インスタンスに接続するように設定しようとしています。SERVER_A でシェル スクリプトを実行していますが、最終的には SERVER_B にあるデータベースに接続して pg_restore を実行する必要があります。
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に必要なオプションを含めますが、ファイル名は指定しないでください。Postgres マニュアル、If [filename is] not specified, the standard input is used.
)
scp
(ダンプ ファイルを にコピーしてから、 のファイルを使用して復元を実行することもできますSERVER_B
が、 ですべてを実行する 1 つのスクリプトを実行するという目標には、上記の方法の方が合っているようですSERVER_A
)。