pg_basebackup 自动密码

pg_basebackup 自动密码

我有一个主数据库和从数据库设置。主数据库位于安全网络上,并且只允许 postgres 端口通过从数据库服务器。

数据库需要保护,只有管理员才有数据库密码。服务器也位于远程站点,管理员如果不亲自到现场就无法访问。

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

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

有什么建议么?

答案1

您可以使用.pgpass文件作为解释这里。当然,你需要确保该文件不是所有人都可读的,以保护你的密码。

另一个选择是使用一些受信任的用户。您可以创建一个特定的系统用户(没有登录密码),并使用配置文件trust中仅来自受信任 IP 的方法授予远程数据库服务器上的权限pg_hba.conf。您不需要传递任何密码。您只需要保护此帐户,这可以通过不设置任何密码来完成。只有 root 用户可以su向此用户执行命令或配置 cron 作业。

相关内容