psql:致命:角色" vimarshchaturvedi"不存在。 Postgres.app安装

时间:2016-11-10 07:03:25

标签: macos postgresql authentication postgresql-9.6

我正在开发OS X El Capitan版本10.11.3 我下载了Postgres应用程序并运行了应用程序。

顶部的大象图标说版本9.6.1.0(9.6.1.0)

当我点击'打开psql'我在终端上得到以下输出。

$ '/Applications/Postgres.app/Contents/Versions/9.6/bin'/psql -p5432
psql: FATAL:  role <username> does not exist

我的用户名在哪里。据我所知,该应用程序应使用我的用户名创建一个角色,而不是密码。

我尝试过:

psql -h localhost -U <username>

给出了同样的错误。

以下是我尝试在SO上发布的答案所获得的各种输出。

$ which psql
/Applications/Postgres.app/Contents/Versions/latest/bin/psql

在搜索了一下后,我运行了以下命令:

psql -h localhost -U postgres
postgres=# 

postgres shell打开了。谁能解释一下发生了什么?

1 个答案:

答案 0 :(得分:1)

在没有任何给定用户名( <FrameLayout android:id="@+id/rootview" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.CardView android:id="@+id/card_view" android:layout_marginBottom="-3dp" project:cardCornerRadius="3dp" android:layout_width="match_parent" android:layout_height="match_parent"> <!--The child view inside the cardview should have extra padding,so that negative margin will not affect the bottom padding of its child.Here normally we have 16dp bottom padding for child + margin bottom of the parent is 3dp=19dp comes.--> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="19dp"/> </android.support.v7.widget.CardView> </FrameLayout> )的情况下启动psql会尝试使用与当前OS用户同名的db用户登录。显然,尚未创建数据库用户。

为每个数据库集群创建的默认超级用户名为-U ...。不要将此与RDBMS的名称或名为postgres的其他用途的系统DB混淆。

您可以使用用户postgres登录并且没有PW表示有两件事:

  1. 用户`postgres存在(duh)。
  2. 设置了无密码访问权限,使用postgres文件或.pgpass使用其中一种身份验证方法pg_hba.confpeerident。最有可能trust
  3. 如果是这样,作为shell的快速​​修复:

    peer

    createuser -h localhost -U postgres vimarshchaturvedi 显然是您的操作系统用户名。

    登录后,您可以检查登录角色(=用户)退出:

    vimarshchaturvedi