在macOS上使用HomeBrew重装PostgreSQL@11时遇错误
macOS重装PostgreSQL@11依赖缺失问题解决
问题原因
PostgreSQL@11依赖icu4c 73.x版本,但安装PostgreSQL@14时Homebrew会自动升级icu4c至74.2版本,卸载PostgreSQL@14后icu4c不会自动降级,导致重装PostgreSQL@11时无法找到所需的旧版本库,引发启动失败与连接拒绝问题。
解决步骤
- 彻底清理已安装的PostgreSQL@11
brew uninstall --force postgresql@11 brew cleanup postgresql@11 - 安装PostgreSQL@11所需的icu4c 73版本
brew install icu4c@73 - 指定icu4c路径重新安装PostgreSQL@11
方法一:使用编译参数指定
方法二:通过环境变量指定依赖路径后安装brew install postgresql@11 --with-icu4c=$(brew --prefix icu4c@73)export PATH="$(brew --prefix icu4c@73)/bin:$PATH" export LDFLAGS="-L$(brew --prefix icu4c@73)/lib" export CPPFLAGS="-I$(brew --prefix icu4c@73)/include" brew install postgresql@11 - 初始化数据库并启动服务
initdb /opt/homebrew/var/postgresql@11 brew services start postgresql@11 - 验证连接是否正常
psql -U $(whoami) postgres
后续版本切换建议
避免反复卸载重装引发依赖冲突,可使用brew switch快速切换PostgreSQL版本:
# 切换到11版本(替换为实际安装的版本号) brew switch postgresql@11 11.22_1 # 切换到14版本(替换为实际安装的版本号) brew switch postgresql@14 <your-installed-version>
内容的提问来源于stack exchange,提问作者Dustine Rene Bernasor
相关产品推荐
相关产品推荐

