将服务器A上的Postgresconfiguration为pg_restore到服务器B(需要证书身份validation)

我正在尝试configuration在SERVER_A上运行的PostgreSQL实例,以连接到SERVER_B上的另一个PostgreSQL实例。 我在SERVER_A上运行一个shell脚本,最终需要连接并执行一个pg_restore到驻留在SERVER_B上的数据库中。

SERVER_B在亚马逊的AWS上。 通常情况下,要进入机器,我会运行以下命令:

# 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上configurationPostgres? 我一直在寻找pg_hba.conf,但坦率地说,我从来没有这样做过,从文档,我不清楚如何实现我想要的结果。 有没有更简单的方法可以让我跳过configurationPostgres,而是从我的shell脚本运行一系列的命令来实现恢复?

我会感谢任何帮助,谢谢!

如果您只想将SERVER_A上的转储文件pg_restore SERVER_B到在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上运行一个脚本的目标,即执行所有操作)。