我刚刚开始玩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 此处的优秀手册以及此处的身份验证方法.
| 归档时间: |
|
| 查看次数: |
9477 次 |
| 最近记录: |