3

在堆栈溢出时还有一些与此类似的其他问题,但是它们没有修复它并且与 Mavericks 无关,我认为这是 Mavericks 特定的问题。

我有一个全新安装的 Mavericks 并且我已经 brew 安装了 postgres 但是我在运行我的 rails 应用程序时遇到了一个奇怪的错误:

could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

Postgres 启动并运行,我可以在命令行中查看整个数据库。Rails 控制台也会抛出此错误。

有一个 /tmp/.s.PGSQL.5432.lock 文件,它看起来与正在寻找的文件相似。

它要查找的目录中没有 .s.PGSQL.5432 文件。

在 Rails 中的 database.yml 中,我将主机设置为 localhost。

谁能告诉我这个错误是什么以及如何解决它。

4

2 回答 2

1

您的客户端(psql 或其他)配置为在 /var/run 中查找 unix 套接字,但您的服务器正在使用 /tmp。这表明您的 psql 是旧版本,而不是您编译的任何版本 - 检查您的 PATH。

您可以将路径用作主机名:

psql -h /tmp -p 5432 ...
于 2013-11-06T11:32:29.833 回答
1

如果您能够通过 psql 从另一台机器连接(即,您已修改 pg_hba.conf 以允许这样做),请尝试将本地主机更改为 IP。

于 2013-11-06T12:45:02.497 回答