我正在尝试设置由两个节点(主节点和备用节点)组成的postgres集群。为了激活自动故障转移,我使用了pgpool。
我遵循了以下文章:https://www.pgpool.net/docs/41/en/html/example-cluster.html,唯一的不同之处是安装postgresql 12而不是version 11。
我知道我正在使用VMware上的两个VMware图像进行测试。我面临以下问题:
当我在两个节点上运行systemctl状态pgpool.service时,它返回成功。此外,我还可以使用看门狗代理IP访问postgresql。
但是什么测试失败了,一切都出了问题。
设想1:
结果:使用postgresql的会话继续工作不到一分钟,然后失败。在重新连接备用节点并再次重新启动pgpool服务之前,我无法再次连接。
设想2:
结果:I会话直接停止。并且备用服务器不提升为主服务器。
我注意到了一些事情(可能与上述问题有关):当我试图运行以下命令psql 192.168.220.146 -p 9999 -U postgres -c "show pool_nodes“时
它无法工作,并返回了以下内容:
psql:错误:无法连接到服务器:无法连接到服务器:没有这样的文件或目录是在Unix域套接字上本地运行并接受连接的服务器"/var/run/postgresql/.s.PGSQL.9999“
但是,如果我运行: psql 192.168.220.160 -p 5432 -U postgres,它可以正常工作,并且可以访问postgres。
我的pool_hba文件:
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all pgpool 0.0.0.0/0 scram-sha-256
host all postgres 0.0.0.0/0 scram-sha-256任何帮助都将不胜感激。
发布于 2020-04-02 02:40:01
我遵循了以下文章:https://www.pgpool.net/docs/41/en/html/example-cluster.html,唯一的不同之处是安装postgresql 11。
I没有ping delegate_IP = '192.168.1.233‘。我能帮你吗?
谢谢你。
发布于 2020-04-03 18:39:23
您没有向psql提供用于指定IP地址的-h参数。因此,psql实际上是试图连接到UNIX域套接字,并将命令中的IP地址作为数据库名。
尝试将-h放在IP地址之前
psql -h 192.168.220.146 -p 9999 -U postgres -c "show pool_nodes“
https://stackoverflow.com/questions/60193743
复制相似问题