【发布时间】:2013-07-12 02:07:40
【问题描述】:
我正在使用适用于 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 但是我已经安装->卸载-重新安装了几次,所以它一定是我的机器上的东西。
我找到了答案,但我不确定它是如何工作的,因为在此线程上回答的用户 -> Getting Postgresql Running In Mac: Database "postgres" does not exist 没有跟进。我使用以下命令打开 psql:
psql -d template1
在有人能解释为什么会这样之前,我不会回答这个问题。
【问题讨论】:
-
psql -d postgres -U postgres -h localhost显示什么?如果没有标志,它默认为 CLI 用户,我会说它默认为“postgres”管理数据库,但我没有要测试的 mac。 -
@bma 这给了我 psql:致命:角色“postgres”不存在,最初把我带到这里 -> stackoverflow.com/questions/15301826/…。我尝试使用该答案,但得到相同的结果-> psql: FATAL: database "user" does not exist
-
你查看过数据库日志吗?我想知道是否会在那里发布更多细节。
-
我遇到了同样的问题。只是做
createdb <user>为我工作。 -
以
psql -U user -d postgres运行命令,这样可以确保用户连接到已经存在的postgres 数据库。所以我们需要在登录时也传递数据库。
标签: postgresql psql