0

我正在 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 会话,重新启动了我的机器(及其所有组合),但都无济于事。

我可以从这里去哪里?

4

1 回答 1

0

您的问题是 PostgreSQL 没有运行。首先,我强烈建议在升级操作系统之前备份 PostgreSQL 数据库,因为有时事情进展不顺利。如果你有一个垃圾场,如果事情往南走,你有更多的选择。我同意在新操作系统上重新编译会对您现有的数据库提出一些问题。

首先要做的当然是尝试正常启动 PostgreSQL。也许它只是缺少一个启动脚本。就像是sudo -u postgres pg_ctl -D /path/to/postgresql/data/dir

如果这不起作用,您需要查看错误消息并尝试解决该问题。希望它可以正常工作。如果它不起作用,请将您的数据目录复制到运行旧版本的系统中。尝试从那里倾倒它。获得副本后(重要的是,首先备份文件!)您可能会查看是否可以让 pg_upgrade 工作。如果失败,请尝试(通过自制软件)编译您之前运行的相同主要版本。

如果失败,请聘请专家。

于 2013-04-10T12:19:16.733 回答