M1芯片MacOS Big Sur下Homebrew启动PostgreSQL报错Bootstrap failed:5求助
PostgreSQL通过Homebrew启动报错「Bootstrap failed: 5: Input/output error」解决方案
第一步:清理残留的服务进程与配置文件
首先执行命令停止所有运行中的PostgreSQL残留服务:brew services stop postgresql
删除旧的launchctl配置文件,避免旧配置冲突:rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
如果提示文件不存在可直接跳过该步骤。第二步:排查数据目录版本兼容性问题
绝大多数重装后仍启动失败的情况,都是旧版本PostgreSQL生成的数据目录和新安装的版本不兼容导致的。首先查看PostgreSQL运行日志定位问题:- Intel芯片Mac执行:
cat /usr/local/var/log/postgres.log - M系列芯片Mac执行:
cat /opt/homebrew/var/log/postgres.log
如果日志中出现database files are incompatible with server类提示,即可确认是版本兼容性问题,可根据是否需要保留历史数据选择对应解决方案:
方案1:不需要保留历史数据(本地测试环境推荐)
直接删除旧数据目录,重新初始化即可:
Intel芯片命令:rm -rf /usr/local/var/postgres initdb /usr/local/var/postgres -E utf8M系列芯片命令:
rm -rf /opt/homebrew/var/postgres initdb /opt/homebrew/var/postgres -E utf8初始化完成后重新启动服务:
brew services start postgresql即可正常运行。方案2:需要保留历史数据
先确认你之前使用的PostgreSQL大版本(如12、13等),通过Homebrew安装对应旧版本,使用pg_upgrade工具完成数据迁移后再启动新服务即可。- Intel芯片Mac执行:
第三步:关于brew doctor的Xcode版本提示
该提示和当前PostgreSQL启动报错无关联,不影响PostgreSQL运行,无需额外处理。如果希望消除警告,可根据提示到App Store更新Xcode到最新版本即可。
内容的提问来源于stack exchange,提问作者Jason FB
相关产品推荐
相关产品推荐

