【发布时间】:2022-01-10 13:11:53
【问题描述】:
我在 OSX 10.12、Rails 6.0.4、gem 'pg', '>= 0.18', '< 2.0'
并且最近注意到各种应用程序上的 postgresql 存在问题,这些问题仍然冻结了一段时间。
来自 Github/Le Wagon 的 Rails 模板甚至无法迁移:
rails db:migrate
rails aborted!
PG::ConnectionBad: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
所以我愿意
postgres -D /usr/local/var/postgres
2021-12-04 15:14:57.335 CET [1964] FATAL: database files are incompatible with server
2021-12-04 15:14:57.335 CET [1964] DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 11.14.
我刚刚升级了,最后说:
Warning: postgresql@12 12.9_1 is already installed and up-to-date.
To reinstall 12.9_1, run:
brew reinstall postgresql@12
➜ background-jobs-demo git:(master) ✗ postgres -V
postgres (PostgreSQL) 11.14
根据@AdrianKlaver 的评论,我还发现了一个包含 postgresql@11 和 postgresql@12 的存储库
最好的做法是什么?升级版本 12 ? brew postgresql-upgrade-database 会保证我升级版本 12,而不是 13 或 14 吗?
【问题讨论】:
-
看起来已经有一个 Postgres 12 实例并且它创建/填充了目录
/usr/local/var/postgres。唯一可能发生的其他方式是,如果有人从其他地方复制了 Postgres 12 数据目录。您需要确定是否安装了多个 Postgres,如果其中之一是 12,然后将正确的一个指向目录。 -
@AdrianKlaver 我刚刚进行了升级,最后说:警告:postgresql@12 12.9_1 已经安装并且是最新的。要重新安装 12.9_1,请运行: brew reinstall postgresql@12 ➜ background-jobs-demo git:(master) ✗ postgres -V postgres (PostgreSQL) 11.14 所以我正在重新安装,希望它能解决。
-
所以正如我所提到的,安装了多个 Postgres 实例,至少 11 和 12。您需要找到它们的位置并将正确的二进制文件与正确的数据目录匹配。
-
不,你最终会回到现在的位置。阅读此Homebrew Postgres 和此Homebrew multiple versions。
-
阅读我发送的链接,他们会告诉你如何操作。我不使用 MacOS,因此无法创建测试设置来创建有效答案。
标签: ruby-on-rails postgresql homebrew