我已阅读多篇文章,详细介绍了如何修复此问题。我尝试了各种编辑 pg_hba.conf 文件的方法,但都没有成功。当我尝试运行我尝试使用的 php 程序时,Apache 日志中仍然出现以下错误。
2013 年 3 月 28 日星期四 08:20:21] [错误] [客户端 172.16.1.64] PHP 警告:pg_connect():>无法连接到 PostgreSQL 服务器:严重:用户对等身份验证失败
这是我当前的 pg_hba.conf 文件:
我不知道还能尝试什么,非常感谢任何帮助!
谢谢!
答案1
考虑中的第一个规则pg_hba.conf
:
本地 全部 全部 对等体
这意味着对于所有本地连接,Unix 用户应该与数据库用户相同。显然,您的 php 代码并非如此,因此失败用户对等身份验证失败...。
第二条规则将允许您的脚本连接,但由于第一条规则优先,因此它会被忽略:
本地全部全部信任
这条规则意味着允许所有本地连接,而不需要密码,也不需要检查任何身份。
如果您同意,只需删除第一条规则,然后重新加载 postgresql 服务以使更改生效。
其他规则与问题无关,因为它们与 TCP 连接有关,并且根据错误消息,这不是脚本使用的方法,而是尝试通过默认的 Unix 域套接字进行连接。