当我执行 brew install postgresql
时,Homebrew 当前安装 v10.0
。我需要它来安装 v9.6
所以我做了 brew install postgresql@9.6
但现在没有像 psql
、pg_dump 这样的二进制文件
或 pg_restore
。我有可能将它与 v10.0
混合,只需安装这两个版本,然后在 v9.6
中运行服务器,二进制文件将位于 v10.0
。但我现在想在 v9.6
上拥有所有内容。我怎样才能做到这一点?
最佳答案
- 安装两个版本的 postgresql,当前
brew install postgresql
和旧版brew install postgresql@9.6
- 之后卸载它们
- 在
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/
你应该有两个版本的 postgresql 的公式文件,postgresql@9.6.rb
和postgresql.rb
。 - 打开两个文件进行编辑。从
postgresql@9.6.rb
复制url
和sha256
值,并用它们覆盖文件postgresql.rb
中的相应值 - 删除文件夹
/usr/local/var/postgres
(只是为了清除以前安装的所有残留物) - 现在使用常规命令
brew install postgresql
再次安装 postgresql。应从编辑的公式文件postgresql.rm
中识别版本 9.6 并作为最新版本安装。 - 作为最后一步,您现在可以固定您的 postgresql 版本
brew pin postgresql
。
关于postgresql - 如何使用还包括 psql 和 pg_dump 等 bin 的 Homebrew 安装特定版本的 postgresql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47204475/