PostgreSQL上的现有用户登录失败

jas*_*328 16 postgresql login

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

sudo: unknown user: Jason
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)

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

                         List of roles
Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
Jason     | Superuser, Create role, Create DB, Replication | {}
postgres  | Superuser, Create role, Create DB, Replication | {}
Run Code Online (Sandbox Code Playgroud)

是什么导致了这个问题?此外,我检查了我的本地,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
Run Code Online (Sandbox Code Playgroud)

Erw*_*ter 17

您将系统用户数据库用户混淆.错误消息来自sudo并且与PostgreSQL完全无关.

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

psql -U Jason
Run Code Online (Sandbox Code Playgroud)

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

  • 现在我收到了这个错误......`psql:致命:用户"Jason"`的对等身份验证失败了 (5认同)