【问题标题】:Updated OS X to 10.7.5, now I can't connect to local PostgreSQL databases将 OS X 更新到 10.7.5,现在我无法连接到本地 PostgreSQL 数据库
【发布时间】: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


【解决方案1】:

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

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

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

如果失败,请聘请专家。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多