回到旧的PostgreSQL特定版本
TL;DR 从9.6.7回到9.6.6的例子 brew services stop postgresql brew services stop postgresql@9.6 brew uninstall postgresql brew uninstall postgresql@9.6 rm -rf /usr/local/var/postgres .psql_history .psqlrc .psq
TL;DR
从9.6.7回到9.6.6的例子
brew services stop postgresql
brew services stop postgresql@9.6
brew uninstall postgresql
brew uninstall postgresql@9.6
rm -rf /usr/local/var/postgres .psql_history .psqlrc .psql.local .pgpass .psqlrc.local
进入全屏模式 退出全屏模式
在此处选择具有所需版本的 Postgres.app 版本。安装它,“初始化”服务器然后运行:
sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/9.6/bin | sudo tee /etc/paths.d/postgresapp
进入全屏模式 退出全屏模式
重新启动外壳。
详情
我在工作的项目的PostgreSQL版本是9.6.6
。问题是我的机器使用了更高版本。每次运行db:migrate
时都会导致与db/structure
文件发生冲突。
像大多数在 macOS 上运行的开发人员一样,我通常使用 Homebrew。它允许通过运行brew switch formula@version
轻松切换到另一个已安装的公式版本。你猜我试过了,但问题是 Homebrew 只处理每个版本的主要版本,我需要一个特定的次要版本。
因为我还需要在旧的和最近的 Rails 项目之间切换,所以我经常需要更改正在运行的 PostgreSQL 版本。我目前的解决方案是使用Postgres.app。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--Iis1dZT3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev。 s3.amazonaws.com/i/uiu88odsbeque9vpswzi.png)
如果您已经通过 Homebrew 在您的系统上安装了 PostgreSQL,但想在 Postgres.app 中使用特定版本(如以前的版本),只需按照以下步骤操作:
1\。删除所有已安装的 PostgreSQL 版本
-
检查运行版本
brew services list
然后停止它们brew services stop postgresql
。 -
删除所有已安装的公式,每个已安装版本为
brew uninstall postgresql
和brew uninstall postgresql@version
。 -
然后删除相关文件
rm -rf /usr/local/var postgres .psql_history .psqlrc .psql.local .pgpass .psqlrc.local
。
2\。安装 Postgres.app
-
下载具有所需版本的版本。
-
安装它并创建一个新服务器:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--Tp7K_Fy---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev .s3.amazonaws.com/i/rylmc6d1j63yoo1cjbnq.png)
- 初始化它。
3\。使 PostgreSQL 相关工具可与终端一起使用
最后一步允许您使用 pg_dump 等工具。只需运行:
sudo mkdir -p /etc/paths.d &&
echo /Applications/Postgres.app/Contents/Versions/9.6/bin | sudo tee /etc/paths.d/postgresapp`
进入全屏模式 退出全屏模式
(不要忘记用您的版本替换 9.6)。
重新启动你的外壳。欢迎回到过去!
如果您有更好的解决方案来像我一样在没有外部应用程序的情况下在特定版本的 PostgreSQL 之间切换,请不要犹豫分享! :)
更多推荐
所有评论(0)