psql -U用户pgrouting身份验证失败

时间:2013-05-18 06:23:09

标签: linux postgresql authentication

我的postgresql数据库中有一个pgrouting数据库。所有者是用户,但是当我尝试使用

进行连接时
psql -U user pgrouting 
发生

错误

psql: FATAL:  Peer authentication failed for user "user"

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

首先,您似乎误解了“对等身份验证”的本质。我引用the manual here

  

对等身份验证方法通过获取客户端来工作   来自内核的操作系统用户名并将其用作允许的   数据库用户名。

系统用户的名称必须与db用户的名称匹配。您没有为此身份验证方法提供具有-U参数的用户名。事实上,当您以适当的系统用户身份登录时,只需发出:

psql pgrouting

如果端口与默认值不同,则使用更多连接选项,如端口。

接下来,您不应将user用作实际用户名。它在每个SQL标准和Postgres中都是reserved word。这对每个人来说都很混乱。

如果您想允许使用密码登录,则必须在pg_hba.conf文件中添加一个条目,允许password or md5 (preferably) authentication method - 和重新加载