使用Homebrew运行PostgreSQL提示Bootstrap failed:5报错如何解决?
诱因
- 旧PostgreSQL进程残留未正常终止,占用了运行需要的端口或文件锁
- Homebrew自动更新PostgreSQL大版本后,未完成旧版本数据迁移,导致启动时读取数据失败
- PostgreSQL数据目录或启动plist文件权限异常,launchctl进程无读取、执行权限
- 上次PostgreSQL异常关闭导致数据目录文件损坏
解决方法
按以下顺序依次尝试,每一步操作后验证服务是否能正常启动:
- 先终止所有PostgreSQL相关进程,清理残留状态
brew services stop postgresql pkill postgres rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
- 处理大版本升级导致的数据不兼容问题
执行Homebrew提供的自动数据迁移命令即可完成旧版本数据迁移:brew postgresql-upgrade-database - 修复数据目录权限
首先确认你的芯片类型对应的数据目录路径:
- Intel芯片Mac:
/usr/local/var/postgres - Apple Silicon芯片Mac:
/opt/homebrew/var/postgres
执行权限修复命令,替换下方路径为你对应的数据目录:sudo chown -R $(whoami):staff /opt/homebrew/var/postgres
- 异常关闭导致的数据损坏修复
先完整备份当前数据目录避免数据丢失:cp -r <数据目录路径> ~/postgres_backup_$(date +%Y%m%d)
再执行数据修复命令:postgres -D <数据目录路径> --single -P -d postgres
修复完成后重新启动PostgreSQL服务:brew services start postgresql
启动完成后执行brew services list查看状态,postgresql条目显示为started即为修复成功。
内容的提问来源于stack exchange,提问作者user11595058
相关产品推荐
相关产品推荐

