Docker Compose 出现问题 - FATAL: database "root" does not exist (PostgresSQL)

37 浏览
0 Comments

Docker Compose 出现问题 - FATAL: database "root" does not exist (PostgresSQL)

我使用Mac上的PostgreSql应用程序 (http://postgresapp.com/)。我过去在其他机器上使用过它,但在我的Macbook上安装时出现了一些问题。我已经安装了应用程序并运行了:

psql -h localhost

它返回:

psql: FATAL:  database "" does not exist

似乎我甚至无法运行控制台来创建它正在尝试查找的数据库。当我只运行时,同样的事情会发生:

psql 

或者如果我从应用程序下拉菜单中启动psql:

机器统计:

  • OSX 10.8.4
  • psql (PostgreSQL) 9.2.4

任何帮助将不胜感激。

我还尝试通过homebrew安装PostgreSql,但遇到了同样的问题。我还阅读了应用程序的文档页面,其中提到:

当Postgres.app首次启动时,它会创建$ USER数据库,这是在没有指定数据库时psql的默认数据库。默认用户为$ USER,无密码。

因此,似乎该应用程序未创建$ USER但是我已经安装->卸载->重新安装了几次,所以这一定是我的机器的问题。

我找到了答案,但我不确定它是如何工作的,因为在此线程上回答的用户 -> 获取Postgresql运行在Mac中:数据库\"postgres\"不存在没有跟进。我使用了以下命令打开psql:

psql -d template1

我会把这个问题留下来未回答,直到有人能够解释为什么它能够工作。

admin 更改状态以发布 2023年5月24日
0
0 Comments

在终端上,在命令提示符窗口上运行命令。(不在psql内部)

createdb 

然后尝试再次运行Postgres。

0
0 Comments

看起来您的软件包管理器未能为您创建名为$user的数据库。 原因是

psql -d template1

适用于您是因为template1是postgres本身创建的数据库,并且存在于所有安装中。 您显然能够登录到template1,因此数据库必须为您分配了一些权限。 尝试在shell提示符处执行以下操作:

createdb

然后再次尝试使用

psql -h localhost

登录。 这只是为您的登录用户创建一个数据库,我认为这是您要寻找的内容。 如果createdb失败,则表示您没有足够的权限创建自己的数据库,并且您将不得不找出如何修复homebrew包。

0