我在玩pgpool2。
我连接到postgresql,它使用命令psql -U postgres -p 5432运行在端口5432上,并且正常连接。
当我用命令pgpool2连接到在9999端口上运行的psql -U postgres -p 9999时,它返回对话框,如:psql: root@master:/linux/path#
我做错什么了?是否有方法使用psql连接到pgpool?我也无法从应用程序连接到它。
UPD我得到了以下错误pool_do_auth: maybe protocol version mismatch (current version 3)
解决了:问题发生在后端的pgpool中。编辑pg_hba.conf修复问题。
发布于 2015-01-27 02:51:44
此错误消息和行为是由于pgpool身份验证到postgres时出现的问题,而不是您可能怀疑的对pgpool的身份验证问题。如果您检查postgres日志,它将告诉您postgres pg_hba.conf中的哪一行被拒绝。
但是,由于(IIRC) pgpool不能进行对等身份验证,所以可能就是这个,它说所有本地(unix套接字)连接都将通过假装系统用户名是postgres用户名来进行身份验证:
local all all peer你想把它改为:
local all all trust至少能让事情顺利进行。然而,这样你就会失去一些安全。但是,如果您的所有用户(可以访问unix套接字)都是可信的,这是可以接受的。
https://stackoverflow.com/questions/22218352
复制相似问题