【发布时间】:2012-09-21 16:31:24
【问题描述】:
我正在 Mac OS X Lion 上开发多个 Rails 3.2 应用程序。昨晚,我从 10.7.4 更新到 10.7.5,今天早上我发现我不再能够连接到我的开发 Postgresql 数据库(而我的生产环境工作得很好,使用相同的代码库)。我在本地开发的所有使用 PostgreSQL 的应用程序都是这种情况。
我每次尝试连接时收到的错误消息:
PG::Error: 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"?
我已经阅读了一些关于类似问题的其他 SO 帖子,但其中大多数建议 PATH 更改 ~/.bash_profile。但是,当我运行which psql(如其他帖子中所建议的那样)时,/usr/local/bin/psql 被返回,这是正确的(根据其他帖子)。
我不愿再次卸载并重新安装 PostgreSQL(甚至通过 Homebrew),因为我不想为我的所有应用程序弄乱我现有的 PostgreSQL 数据库。 (也许这不是一个潜在的问题——我没有足够的信心说。)
我已经多次卸载并重新安装了pg gem,关闭并重新打开了我的 shell 会话,重新启动了我的机器(以及它们的所有组合),但都无济于事。
我可以从这里去哪里?
【问题讨论】:
-
Homebrew 一开始是如何安装 Pg 的吗?服务器是否正在运行(
postgres进程是否显示在进程列表中)并接受连接(“psql”是否通过套接字或在给定明确的主机名和端口时连接)? -
Homebrew 是我最初安装 PostgreSQL 的方式(我应该指定这就是我的路径是
/usr/local/bin/psql的原因)。我运行ps auxwww | grep postgres时的输出是jason 2327 0.0 0.0 2432768 588 s000 S+ 10:23PM 0:00.00 grep postgres。在这一点上不确定替代连接 - 有没有一个好的方法来测试这个? (我是 PostgreSQL 的亲戚) -
好的,所以 Pg 没有运行。
postgres的唯一匹配是grep postgres命令。您可能需要启动 Pg。如果无法启动,请检查 PostgreSQL 日志文件以了解原因。 -
我在安装 PostgreSQL 后看到一个命令,该命令提到了启动 - 将跟踪并尝试它。每次我想使用 PosgreSQL 时都必须手动“启动”它,还是每次安装一次启动? (或者每次我启动我的应用服务器时,PG gem 都会处理这个启动......?)
-
pg gem 肯定不会处理它。除此之外,我不知道。我希望您使用任何包装来通过launchd启动它,但不能说更多。在 Mac OS X 上,似乎至少有 3 个相互竞争的 PostgreSQL 软件包(Homebrew、Postgres.app 和官方的 EnterpriseDB 安装程序),尤其是像我一样,如果你不支持的话,它是一个#!%# 的噩梦。没有 Mac。 Apple 不允许在其他系统上运行 VM,因此没有 Apple 硬件 = 无法访问 OSX 进行测试。有经验的 Pg 用户似乎不会在这里回答太多问题。
标签: ruby-on-rails-3 macos postgresql osx-lion homebrew