从命令行使用postgresql获取身份验证失败错误

Ran*_*ngh 4 postgresql centos

当我尝试从这样的命令行登录时

psql -h dbserver -U testuser test
Run Code Online (Sandbox Code Playgroud)

然后我得到这个错误

psql: FATAL:  Ident authentication failed for user "testuser"
Run Code Online (Sandbox Code Playgroud)

这是我的

nano -w /var/lib/pgsql/data/pg_hba.conf

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          password
# IPv6 local connections:
host    all         all         ::1/128               ident
host    all     all     192.168.0.1/24  password
Run Code Online (Sandbox Code Playgroud)

Cra*_*ger 7

你不能指定一个非默认的用户-Upsql使用时ident的身份验证.您将不会以psql该用户身份运行,因此身份验证将失败.

您必须使用sudo -u testuser psql test或更改pg_hba.conf以便身份验证(至少对于testuser数据库test)使用md5密码身份验证,并设置密码testuser,ALTER USER ... PASSWORD如果他们还没有密码.