小编典典

psql:致命:数据库““ 不存在

all

我正在使用 Mac 的 PostgreSql
应用程序(http://postgresapp.com/)。我过去曾在其他机器上使用过它,但在我的
macbook 上安装时给我带来了一些麻烦。我已经安装了应用程序并运行了:

psql -h localhost

它返回:

psql: FATAL:  database "<user>" does not exist

似乎我什至无法运行控制台来创建它试图查找的数据库。当我刚刚运行时也会发生同样的事情:

psql

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

机器统计:

  • OSX 10.8.4

  • psql (PostgreSQL) 9.2.4

任何帮助表示赞赏。

我也尝试通过自制软件安装 PostgreSql,我遇到了同样的问题。我还阅读了应用程序文档页面,其中指出:

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

所以看起来应用程序没有创建 $USER 但是我已经安装->卸载-重新安装了几次,所以它一定是我的机器上的东西。

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

psql -d template1

在有人可以解释为什么这样做之前,我将不回答这个问题。


阅读 605

收藏
2022-03-01

共1个答案

小编典典

您的包管理器似乎未能为您创建名为 $user 的数据库。原因是

psql -d template1

对你有用的是 template1 是一个由 postgres 自己创建的数据库,并且存在于所有安装中。您显然能够登录到
template1,因此您必须拥有数据库分配给您的一些权限。在 shell 提示符下试试这个:

createdb

然后看看你是否可以再次登录

psql -h localhost

这将为您的登录用户创建一个数据库,我认为这就是您正在寻找的。如果 createdb 失败,那么您没有足够的权限来创建自己的数据库,您将不得不弄清楚如何修复
homebrew 包。

2022-03-01