psql:严重:用户"用户名"的身份验证失败错误和解决方案
时间:2020-01-09 10:43:05 来源:igfitidea点击:
问题描述:我已经在Red Hat Enterprise Linux 5.x服务器下安装了Postgresql。
我已经创建了用户名/密码和数据库。
但是,当我尝试使用以下语法通过PHP或者psql连接它时:
psql -d myDb -U用户名-W
它给我一个错误,内容如下:
psql: FATAL: Ident authentication failed for user username psql:严重:用户名的身份验证失败
如何解决此错误?
答:要解决此错误,请打开PostgreSQL客户端身份验证配置文件/var/lib/pgsql/data/pg_hba.conf:
# vi /var/lib/pgsql/data/pg_hba.conf
该文件控制:
- 允许哪些主机连接
- 客户端如何认证
- 他们可以使用哪些PostgreSQL用户名
- 他们可以访问哪些数据库
默认情况下,Postgresql使用基于IDENT的身份验证。
您要做的就是允许您的网络或者Web服务器基于用户名和密码的身份验证。
IDENT绝对不允许您通过-U和-W选项登录。
追加以下内容以仅允许通过本地主机登录:
local all all trust host all 127.0.0.1/32 trust
保存并关闭文件。
重新启动Postgresql服务器:
# service postgresql restart
现在,您应该可以使用以下命令登录:
$ psql -d myDb -U username -W