PostgreSQL上的现有用户登录失败

时间:2012-10-22 02:27:57

标签: postgresql login

我刚刚开始使用PostgreSQL。我的目标是在postgres之外创建一个具有所有相同权限的新用户,并为我的ror应用程序创建一个数据库。我可以在postgres下登录。我确实创建了一个名为Jason的用户,这很好,但是当我sudo -u username psql时,我收到以下错误...

sudo: unknown user: Jason
sudo: unable to initialize policy plugin

我可以通过检查postgres控制台中的\ dg来确定用户名是否存在。

                         List of roles
Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
Jason     | Superuser, Create role, Create DB, Replication | {}
postgres  | Superuser, Create role, Create DB, Replication | {}

造成这个问题的原因是什么?此外,我检查了我的本地pg_hba.conf并获得了我认为正确的设置。

# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

1 个答案:

答案 0 :(得分:17)

您将系统用户数据库用户混淆。错误消息来自sudo,根本与PostgreSQL无关。

以数据库用户Jason身份登录:

psql -U Jason

当然,只要没有设置无密码访问,您就需要提供密码。 对等身份验证仅适用于同名系统用户(“Jason”) 有关psql here以及身份验证方法here的优秀手册中的更多内容。