当我尝试从这样的命令行登录时
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)
你不能指定一个非默认的用户-U在psql使用时ident的身份验证.您将不会以psql该用户身份运行,因此身份验证将失败.
您必须使用sudo -u testuser psql test或更改pg_hba.conf以便身份验证(至少对于testuser数据库test)使用md5密码身份验证,并设置密码testuser,ALTER USER ... PASSWORD如果他们还没有密码.