无法连接到主服务器:postgresql HA 安装

无法连接到主服务器:postgresql HA 安装

尝试使用三个节点Postgresql-9.4 High Availability (HA)安装RHEL7。在所有三个节点中,相应地安装postgresql、更新postgresql.confpg_hba.conf文件。完成所有配置后,尝试在Master服务器中使用命令检查验证同步流复制

select * from pg_stat_replication;

它返回

postgres=# select * from pg_stat_replication;
 pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_location | write_
location | flush_location | replay_location | sync_priority | sync_state
-----+----------+---------+------------------+-------------+-----------------+-------------+---------------+--------------+-------+---------------+-------
---------+----------------+-----------------+---------------+------------
(0 rows)

这表明,没有复制。当我查看 postgresql 日志文件时,我发现没有建立从备用节点到主节点的连接。所有三个节点中的日志文件如下所示:

节点0:

FATAL:  no pg_hba.conf entry for replication connection from host "x.x.x.x (node1)", user "postgres", SSL off
FATAL:  no pg_hba.conf entry for replication connection from host "x.x.x.x (node2)", user "postgres", SSL off

节点1和节点2:

FATAL:  could not connect to the primary server: 
FATAL:  no pg_hba.conf entry for replication connection from host "x.x.x.x (node0)", user "postgres", SSL off

为了检查连接,我在所有三个节点中禁用了 iptables。能够从/到所有其他节点 ping 通,从从站到主站的 telnet 工作正常,从主站到从站的 telnet 不起作用。不确定为什么会发生(即使 iptables 服务已停止)。

答案1

在主节点(节点0):更新文件pg_hba.conf,添加postgres(用户)访问数据库。

在备用节点(节点 1 和节点 2)中:禁用iptables或配置firewall为接受与主节点之间的连接。

在 /etc/sysconfig/iptables 中,添加以下行并重新启动。

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 5432(port) -j ACCEPT
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

这个解决方案解决了我的问题。

相关内容