Homebrew安装的Postgres启动时PID进程无限循环如何解决
解决步骤
进程无法杀死的核心原因是Homebrew默认对PostgreSQL开启了后台保活机制,手动杀进程会被自动重新拉起,按如下步骤操作即可:
1. 停止Homebrew托管的PostgreSQL服务
执行命令关闭服务,终止保活机制:
# 通用版本命令 brew services stop postgresql # 若安装的是指定版本,比如PostgreSQL 14,执行对应版本命令即可 brew services stop postgresql@14
2. 确认进程完全退出
执行以下命令检查5432端口占用,无输出即代表进程已停止:
lsof -i :5432
3. 删除残留的pid锁文件
报错提示的postmaster.pid是PostgreSQL异常退出后残留的锁文件,服务停止后手动删除即可:
# Intel芯片Mac默认路径 rm /usr/local/var/postgres/postmaster.pid # M1/M2系列芯片Mac默认路径 rm /opt/homebrew/var/postgres/postmaster.pid
4. 重启PostgreSQL
可根据需求选择启动方式:
- 用Homebrew服务管理后台启动:
brew services start postgresql
- 手动前台启动:
postgres -D /usr/local/var/postgres
内容的提问来源于stack exchange,提问作者user16741832
相关产品推荐
相关产品推荐

