我在 Debian Squeeze 服务器中运行 PostgreSQL 9.1.9(使用反向移植)。pg_hba.conf 文件的内容如下:
local all postgres trust
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 192.168.1.237/32 md5
我已经使用以下命令设置了 postgres 用户的密码:
alter user postgres with password 'pass';
我尝试从 PgAdmin 建立连接,但无法正常工作。它不断抛出身份验证失败错误。我的客户端是192.168.1.237
上面文件中显示的 IP 的客户端。如果我将身份验证方法更改为信任并重新加载 postgresql,我就可以正常连接。服务器日志中的错误是:
FATAL: password authentication failed for user "postgres"
我的服务器配置有什么问题?
答案1
既然你提到了 pgAdmin,如果你用它来修改账户postgres
,你可能会受到其 密码过期日期错误dba.se 中提到:
基本上解决方法是:
ALTER USER postgres VALID UNTIL 'infinity';