了解PostgreSQL角色和安全性,尤其是在复制时

时间:2014-11-24 09:20:42

标签: postgresql replication

我可能已经幸运地进行了初始主从复制安装,其中启动了一些东西。但重新尝试后,设置不会复制数据。

在检查事项并筛选各种文档后,我发现有一些与数据复制的角色和安全性相关的不明确的领域。

安装postgresql后,默认状态的基本用户具有以下权限

postgres  | Superuser, Create role, Create DB, Replication | {}

并通过推理这包括登录。

如果postgres具有复制和登录功能,那么为该函数创建replicator用户是真的必要还是更好,然后在pg_hba.conf中定义?

host    replication     replicator      slave_ip/32         trust

默认的postgresql.conf有三条关于ssl,开/关开关以及键指针的说明。我知道postgre使用了端口5432.那么/32代表什么呢?最后,复制需要 ssl和证书来运行复制 - 还是首选

很抱歉,如果这看起来像3个问题,但对我而言,它们似乎紧密相连

1 个答案:

答案 0 :(得分:1)

创建新用户进行复制不是必需,但它是首选,因为它会降低复制角色的权限。

您必须在某处存储复制角色的凭据,或者配置Pg,因此不需要存储凭据(如上例所示,它依赖于IP地址)。您真的不希望超级用户登录只是在副本上,任何有权访问该计算机或可能危及它的人都可以使用它来攻击您的主服务器。


/32是CIDR表示法中的子网掩码,就像您编写了/255.255.255.255一样。这是您在可以占用网络地址范围的字段中编写单个IP地址的方式。


复制在没有SSL的情况下工作。如果你要通过一个你并不完全信任的网络,请使用SSL。