Php &引用;没有主机的pg_hba.conf条目;但是";日志:已授权连接";

Php &引用;没有主机的pg_hba.conf条目;但是";日志:已授权连接";,php,postgresql,connection,database-connection,postgresql-9.1,Php,Postgresql,Connection,Database Connection,Postgresql 9.1,我有个棘手的问题。我有一个使用PostgreSQL 8.3运行的服务。在并行平台上,我安装了PostgreSQL 9.1,并尝试使用我的工作php脚本连接到它。我得到了一个答案: pg_connect(): Unable to connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host "X.X.X.X", user "postgres", database "dbtrsy", SSL off 我的pg_hba.co

我有个棘手的问题。我有一个使用PostgreSQL 8.3运行的服务。在并行平台上,我安装了PostgreSQL 9.1,并尝试使用我的工作php脚本连接到它。我得到了一个答案:

pg_connect(): Unable to connect to PostgreSQL server: 
FATAL: no pg_hba.conf entry for host "X.X.X.X", 
user "postgres", database "dbtrsy", SSL off
我的pg_hba.conf包含:

host    all         all         X.X.X.X/32      password
host    all         all         Y.Y.Y.Y/32      password
我可以从Y.Y.Y.Y使用PgAdmin轻松连接到DB。现在最重要的是:我查看日志,可以看到:

LOG:  connection received: host=X.X.X.X port=55696
LOG:  connection authorized: user=postgres database=dbtrsy
LOG:  disconnection: session time: 0:00:00.017 user=postgres database=dbtrsy host=X.X.X.X port=55696
有没有线索说明我在获得正确授权后自动断开连接?当我尝试使用不同的密码/用户名登录时,会抛出“密码验证失败”错误,这是正确的


有什么想法吗?谢谢

如果我猜的话,我会猜是什么原因导致pg_hba.conf被错误读取,可能是暴露了底层系统中的某种缺陷,或者是另一个非缺陷问题


对于这类问题,我的建议是在PostgreSQL电子邮件列表中处理它,并准备好显示您的整个配置。您还可以尝试注释pg_hba.conf中的行,直到找到问题。如果您的配置足够敏感,您可能希望在客户端上运行另一台具有相同配置但IP地址不同的服务器,以创建一个自包含的测试用例。

只是猜测:不兼容的客户端库?嗯。。。可能是,但我并不真的相信它,因为我使用的是标准php库。来自phpinfo的信息:PostgreSQL(libpq)版本9.1.9 PostgreSQL(libpq)x86_64-redhat-linux-gnu上的PostgreSQL 9.1.9,由gcc(gcc)4.7.2 20120921(Red Hat 4.7.2-2)编译,64位