pg_basebackup自动密码

我有一个主从数据库设置。 master数据库位于安全的networking上,只有postgres端口被允许通过从数据库服务器。

数据库需要被保护,只有pipe理员有数据库密码。 这些服务器也位于远程站点,无需访问pipe理员即可访问。

我发现如果两个连接之间的连接中断了很长一段时间,从属数据库将会被破坏/不同步。 我写了一个脚本来重新同步从数据库,但我面临的问题是,一旦pg_basebackup运行它会提示input密码。 我需要一个简单的方法将密码传递给pg_basebackup命令。

sudo -u postgres pg_basebackup -h <masterDB-IP> -D /var/lib/pgsql/9.3/data -U rep -v -P 

有什么build议么?

这里可以使用.pgpass文件来解释。 当然,你需要确保文件不是世界上可读的,以保护你的密码。

另一个select是使用一些可信的用户。 您可以在pg_hba.confconfiguration文件中仅使用来自可信IP的trust方法创build特定的系统用户(无需login密码)并授予远程数据库服务器的权限。 你不需要传递任何密码。 所有你需要的是通过不设置任何密码来保证这个帐户。 只有root用户才能向该用户请求执行命令或configurationcron作业。