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



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

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

当我点击'Open psql'时,我在我的终端上得到以下输出。

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

是我的用户名。据我所知,应用程序应该创建一个角色与我的用户名和没有密码。

I tried doing:

psql -h localhost -U <username>

给出相同的错误。

以下是我在SO上尝试答案时得到的各种输出。

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

在进行了更多的搜索之后,我运行了以下命令:

psql -h localhost -U postgres
postgres=# 

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

启动没有任何给定用户名的psql (-U ...)尝试使用与当前操作系统用户同名的db用户登录。显然DB用户还没有被创建。

    PostgreSQL错误:Fatal: role "username"不存在

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

您可以使用用户postgres登录而没有PW这一事实表明了两件事:

  1. 用户postgres存在(duh).
  2. 它设置为无密码访问,可以使用.pgpass文件,也可以在pg_hba.conf中使用peer, identtrust认证方法之一。peer最有可能。

如果是,作为快速修复从shell:

createuser -h localhost -U postgres vimarshchaturvedi

vimarshchaturvedi显然是你的操作系统用户名。

  • 使用psql命令运行批处理文件,无需密码

登录后,您可以检查哪些登录角色 (= users)退出:

SELECT rolname FROM pg_roles;

最新更新