Postgres.app 说“在端口 5432 上运行”但 psql 命令失败

Posted

技术标签:

【中文标题】Postgres.app 说“在端口 5432 上运行”但 psql 命令失败【英文标题】:Postgres.app says "Running on Port 5432" but psql command fails 【发布时间】:2013-06-02 00:58:06 【问题描述】:

我安装了 Postgres.app,当我打开它时,菜单栏图标显示“在端口 5432 上运行”。但是当我点击“Open psql”菜单选项时,我看到以下消息:

/Applications/Postgres.app/Contents/MacOS/bin/psql ; exit;
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
logout

[Process completed]

有什么想法吗?

【问题讨论】:

【参考方案1】:

它很可能在不同的位置,有几种方法可以解决这个问题。

    连接时使用 tcp 而不是 unix 套接字 (-h localhost) 在连接时指定正确的套接字(您可以通过:netstat -ln | grep PGSQL 获取) 通过修改您的 postgresql.conf 并更改 unix_socket_directory 变量来更改套接字的位置。

【讨论】:

Aaa 让我的电脑进入睡眠状态并重新唤醒它似乎可以解决它。当我重新启动 Postgres.app 时,我得到一个对话框来“接受”或“拒绝”网络连接。奇怪的是,我以前只看到这个盒子闪烁——以为我看到了东西。我当然点击了“接受”,一切都很好。很奇怪。尽管如此,我还是接受了你的回答并支持 Cody Caughlan 的回答 - 我很感激这些提示! 您还可以通过提供psql 的路径来指定要连接的套接字目录,例如psql -h /var/pgsql/socket 或任何您的套接字目录。【参考方案2】:

根据:

http://postgresapp.com/documentation

尝试在命令行上连接:

$ psql -h localhost

【讨论】:

以上是关于Postgres.app 说“在端口 5432 上运行”但 psql 命令失败的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Postgres.app 在 Mavericks 中安装 pg gem

使用 Ngrok 从 AWS Lambda 连接到本地 PostgreSQL

Postgres.app 设置:获取 `which psql` 以返回所需路径

Postgres.app:pg_restore 挂起

markdown Postgres.app:如何删除postmaster.pid文件?

使用 QProcess 启动 pg_dumpall 时不起作用