3

我在玩pgpool2

我正在使用命令连接到在端口 5432 上运行的 postgresqlpsql -U postgres -p 5432并且连接正常。

当我使用命令连接到在 9999 端口上运行的 pgpool2psql -U postgres -p 9999它会返回如下对话框: psql: root@master:/linux/path#

我做错了什么?有没有办法使用 psql 连接到 pgpool?我也无法从应用程序连接到它。

UPD我有以下错误pool_do_auth: maybe protocol version mismatch (current version 3)

已解决:问题出在后端的 pgpool auth 中。编辑pg_hba.conf修复的问题。

4

1 回答 1

2

此错误消息和行为是由于pgpool 身份验证到 postgres的问题,而不是您可能怀疑的 pgpool 身份验证问题。如果您检查 postgres 日志,它会告诉您postgres pg_hba.conf中的哪一行被拒绝。

但是,由于 (IIRC) pgpool 无法进行对等身份验证,可能就是这个,它表示所有本地(unix 套接字)连接都将通过假装系统用户名是 postgres 用户名来进行身份验证:

local all all peer

您想将其更改为:

local all all trust

至少让事情顺利进行。但是,这样会失去一些安全性。但是,如果您的所有用户(可以访问 unix 套接字)都是受信任的,那么这是可以的。

于 2015-01-27T02:51:44.800 回答