PostgreSQL密码验证失败

时间:2019-01-09 16:47:10

标签: postgresql ubuntu-14.04 psql

我无法使用密码登录到psql,实际上我根本不了解PostgreSQL中身份验证的工作方式。

如果我执行以下命令,则要求输入re_managers密码,并且输入的密码是否匹配,我希望成功登录。

ubuntu@server:~/workspace $ psql -U re_manager -d testdb -W

但是无论出现什么错误它都会失败

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

如果我将用户更改为re_manager,然后执行此操作,则它将正确登录:

re_manager@server:/home/ubuntu/workspace$ psql -d testdb

现在这真的很奇怪:如果我强制psql使用以下命令要求输入密码,

re_manager@server:/home/ubuntu/workspace$ psql -d testdb -W

然后它要求我输入密码,但接受任何密码。

很高兴提供一些解释。

感谢帮助

授予

1 个答案:

答案 0 :(得分:0)

这就是对等身份验证的工作方式。当您登录到该SystemUser时具有SystemUser = a和DatabaseUser = a时,您可以访问由DatabaseUser创建的所有数据库和表。有关更多信息,Authentication Methode以及如何更改pg_hba.conf上的身份验证方法