我使用的是mac版PostgreSql应用(http://postgresapp.com/)。我以前在其他机器上用过,但在我的macbook上安装时遇到了一些麻烦。我已经安装了应用程序,并运行:

psql -h localhost

它返回:

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

似乎我甚至不能运行控制台来创建它试图找到的数据库。当我跑步时,同样的事情也会发生:

psql 

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

机统计数据:

OSX 10.8.4 发生冲突

任何帮助都是感激的。

我也尝试过通过自制程序安装PostgreSql,我也遇到了同样的问题。我还读了申请文档页面,上面写着:

当Postgres。app首先启动,它创建$USER数据库, 当没有指定时,它是PSQL的默认数据库。的 默认用户为$ user,没有密码。

因此,似乎应用程序没有创建$USER,但我已经安装->卸载-重新安装了几次,所以它必须与我的机器。

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

psql -d template1

我不回答这个问题,直到有人能解释为什么这样做。


当前回答

步骤1:

PSQL -d template1

现在你应该在PSQL终端上

步骤2:

创建数据库用户名

确保在数据库名称后使用分号(;);

可选:在PSQL终端上输入\ls或\l列出所有数据库;

步骤3:

PSQL -h localhost

现在你应该连接上了;

其他回答

试着用,

PSQL -D Postgres

我在运行psql时也遇到了同样的问题

通过现有的超级用户连接到postgres。

用连接到postgres的用户名创建一个数据库。

create database username;

现在尝试通过用户名连接

正在docker中运行postgres。在cli中,我得到的错误是“根”角色不存在。

关于我们- postgres

psql

解决了问题。

PostgreSQL在系统上有自己的用户,该用户是在安装PostgreSQL时创建的。postgres用户无需密码即可登录PostgreSQL。没有其他用户能够登录PostgreSQL。

这意味着在使用PostgreSQL之前,你需要使用以下命令切换到该用户帐户:

Su - postgres 然后你可以用下面的命令登录到PosgreSQL客户端:

psql 您将无法作为任何其他用户从命令行访问数据库。

不确定答案中是否已经添加了,Anatolii Stepaniuk的回答非常有帮助,即以下内容。

psql -U Username postgres # when you have no databases yet

如果将环境变量PGDATABASE设置为不存在的数据库的名称,也会发生此错误。

在OSX上,当我试图从Postgress启动psql时,我看到了以下错误。应用程序菜单:

psql: FATAL:数据库“otherdb”不存在

该错误的解决方案是从~/.bash_profile中删除export PGDATABASE=otherdb:

此外,如果PGUSER被设置为您的用户名以外的其他东西,将发生以下错误:

psql: FATAL:角色“note”不存在

解决方案是从~/.bash_profile中删除export PGUSER=notme。