brew pin 不会阻止升级 postgresql 公式
brew pin does not prevent upgrading of postgresql formula
我试图阻止升级我当前的 posgtgresql
版本。因此我做了brew pin postgresql@12
。但是我发现如果我这样做
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
我收到以下错误消息
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
查看日志输出,最后几行是
2022-05-01 17:31:00.816 AEST [18650] FATAL: database files are incompatible with server
2022-05-01 17:31:00.816 AEST [18650] DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 14.2.
所以postgresql
已经更新到版本14.2。
如果我这样做 brew list --pinned
它会显示
postgresql@10
postgresql@11
postgresql@12
所以我仍然 postgresql@12
固定了。那么为什么固定不起作用,我该如何将 posgresql
恢复到版本 12?
我注意到如果我这样做 brew services list
我明白了
postgresql none
postgresql@10 none
postgresql@11 none
postgresql@12 error 6 Chris ~/Library/LaunchAgents/homebrew.mxcl.postgresql@12.plist
即postgresql@14
未列出,所以也许 postgresql
是通过使用 brew
以外的其他方式升级的?但是,我肯定没有进行显式升级,所以看不出这是怎么发生的。
代替这个问题的答案,我在这个 .
中解释了我从这种情况中恢复的方法
简而言之(警告这会破坏数据库)
brew uninstall --force postgresql
brew install postgresql@12
cd /usr/local/var/
rm -rf postgres
initdb /usr/local/var/postgres
试着往好的方面看,这是一个通过次要版本或主要版本升级数据库的机会。
我试图阻止升级我当前的 posgtgresql
版本。因此我做了brew pin postgresql@12
。但是我发现如果我这样做
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
我收到以下错误消息
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
查看日志输出,最后几行是
2022-05-01 17:31:00.816 AEST [18650] FATAL: database files are incompatible with server
2022-05-01 17:31:00.816 AEST [18650] DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 14.2.
所以postgresql
已经更新到版本14.2。
如果我这样做 brew list --pinned
它会显示
postgresql@10
postgresql@11
postgresql@12
所以我仍然 postgresql@12
固定了。那么为什么固定不起作用,我该如何将 posgresql
恢复到版本 12?
我注意到如果我这样做 brew services list
我明白了
postgresql none
postgresql@10 none
postgresql@11 none
postgresql@12 error 6 Chris ~/Library/LaunchAgents/homebrew.mxcl.postgresql@12.plist
即postgresql@14
未列出,所以也许 postgresql
是通过使用 brew
以外的其他方式升级的?但是,我肯定没有进行显式升级,所以看不出这是怎么发生的。
代替这个问题的答案,我在这个
简而言之(警告这会破坏数据库)
brew uninstall --force postgresql
brew install postgresql@12
cd /usr/local/var/
rm -rf postgres
initdb /usr/local/var/postgres
试着往好的方面看,这是一个通过次要版本或主要版本升级数据库的机会。