postgresql数据库用户名密码验证失败

问题分析
(1)检查环境变量中是否指定了相关参数,比如:

#export PGUSER=highgo
#export PGDATABASE=highgo
#export PGHOST=localhost
#export PGPORT=5866
#export PGPASSWORD=12345
1
2
3
4
5
(2)

pg_hba.conf文件是否设置正确
(3)是否添加密码文件,填写是否正确

解决方案
(1)如果在环境变量中指定了相关的用户密码和数据库则注释或删除掉,source生效【source后如果未成功,su - 退出当前用户重新进入该用户即可】
(2)修改pg_hba.conf文件,pg_ctlreload

# "local" is for Unix domain socket connections only
#该行修改本地登录验证方式
local all all trust
# IPv4 local connections:
#该行修改通过Ipv4连接数据库的验证方式
host all all 127.0.0.1/32 md5
# IPv6 local connections:
该行修改通过Ipv6连接数据库的验证方式
host all all ::1/128 md5
1
2
3
4
5
6
7
8
9
(3)检查格式

和文件权限,添加要使用的用户及密码
格式:

hostname:port:database:username:password
1
范例:

192.168.1.100:5866:highgo:highgo:12345

修改权限:

Chmod 600 .pgpass
1

原文地址:https://www.cnblogs.com/h2zZhou/p/10001886.html