认证失败以及相关的问题通常由类似下面的错误消息显示:
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
你试图连接的数据库不存在。请注意如果你没有声明数据库名,默认会用数据库用户名作为数据库名,这可能正确也可能不正确。
服务器日志可能包含比报告给客户端的更多的有关认证失败的信息。如果你为失败的原因而困惑,那么请检查服务器日志。