Linux
將伺服器 A 上的 Postgres 配置為 pg_restore 到伺服器 B(需要證書身份驗證)
我正在嘗試配置在 SERVER_A 上執行的 PostgreSQL 實例以連接到 SERVER_B 上的另一個 PostgreSQL 實例。我在 SERVER_A 上執行一個 shell 腳本,最終需要將 pg_restore 連接到駐留在 SERVER_B 上的數據庫上。
SERVER_B 在亞馬遜的 AWS 上。通常,要 ssh 進入機器,我會執行以下命令:
# ssh -i .ssh/server-dev.pem root@dev.hostname.com [root@dev]# ssh -i .ssh/dev1mac 0.0.0.0
… Postgres 實例位於 0.0.0.0
誰能幫我解釋一下我將如何使用上述資訊在 SERVER_A 上配置 Postgres?我一直在研究 pg_hba.conf,但坦率地說,我以前從未這樣做過,從文件來看,我不清楚如何達到我想要的結果。是否有一種更簡單的方法可以讓我完全跳過配置 Postgres,而只需從我的 shell 腳本中執行一系列命令來實現恢復?
我會很感激任何幫助,謝謝!
如果您想要做的只是 pg_restore 目前在
SERVER_A
執行的數據庫實例上的轉儲文件,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
,但上述內容似乎更符合您在其上執行一個腳本的目標SERVER_A
)。