18

我刚开始玩 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
4

1 回答 1

20

您将system userdatabase user混淆了。错误消息来自sudoPostgreSQL,与 PostgreSQL 完全无关。

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

psql -U Jason

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

于 2012-10-22T02:46:05.697 回答