20.4. 认证问题

认证失败以及相关的问题通常由类似下面的错误消息显示:

FATAL:  no pg_hba.conf entry for host "123.123.123.123", user "andym", database "testdb"

这条消息最可能出现的情况是你成功地联系了服务器,但它不愿意和你说话。就像消息本身所建议的,服务器拒绝了连接请求,因为它没有在其pg_hba.conf配置文件里找到匹配项。

FATAL:  password authentication failed for user "andym"

这样的消息表示你联系了服务器,并且它也愿意和你交谈,但是你必须通过pg_hba.conf文件中指定的认证方法。检查你提供的口令,或者如果错误消息提到了 Kerberos 或 ident 认证类型,检查那些软件。

FATAL:  user "andym" does not exist

指示的数据库用户没有被找到。

FATAL:  database "testdb" does not exist

你试图连接的数据库不存在。请注意如果你没有声明数据库名,默认会用数据库用户名作为数据库名,这可能正确也可能不正确。

提示

服务器日志可能包含比报告给客户端的更多的有关认证失败的信息。如果你为失败的原因而困惑,那么请检查服务器日志。