You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Windows秋季创意者更新1709后PostgreSQL 9.4服务立即停止求助

解决Windows 1709秋季创意者更新后PostgreSQL 9.4服务自动停止的问题

我之前碰到过Windows大版本更新搞乱PostgreSQL服务的情况,针对你不想重装/升级、只需要修复服务启动的需求,给你几个实用的排查和修复方案:

1. 调整服务的恢复策略

Windows 1709更新可能悄悄重置了服务的恢复配置,导致启动时的微小异常直接触发服务停止:

  • 按下Win+R输入services.msc打开服务管理器,找到你的PostgreSQL服务(一般叫postgresql-x64-9.4)
  • 右键选择「属性」,切换到「恢复」标签页
  • 把「第一次失败」「第二次失败」「后续失败」全部设置为「重新启动服务」,等待时间设为1分钟
  • 应用设置后重启服务,看看是否能稳定运行

2. 添加启动日志定位真实错误

系统提示的“未被其他服务/程序使用自动停止”通常是表面现象,添加显式日志能帮你找到真正的启动故障:

  • 在服务属性的「常规」标签页,找到「可执行文件的路径」,默认类似:
    "C:\Program Files\PostgreSQL\9.4\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.4" -D "C:\Program Files\PostgreSQL\9.4\data" -w
    
  • 在末尾追加日志参数:-l "C:\Program Files\PostgreSQL\9.4\logs\startup_debug.log"(确保logs目录存在,或者指定一个有写入权限的路径)
  • 保存后尝试启动服务,然后查看这个日志文件,里面会记录启动过程中的所有错误(比如配置文件语法问题、端口被占用、权限隐性缺失等)

3. 更换服务的登录账户

虽然你确认了Local System的权限,但Win1709对系统账户的权限模型有细微调整,试试切换到Network Service账户:

  • 打开服务属性的「登录」标签页,选择「此账户」,输入NT AUTHORITY\Network Service,密码留空
  • 手动确认这个账户对你的PostgreSQL数据目录(<datadir>)及其父目录拥有完全控制权限
  • 重启服务测试

4. 用sc命令重新注册服务

如果pg_ctl register无效,试试用Windows原生的sc命令彻底重建服务注册:

  • 以管理员身份打开命令提示符
  • 先删除现有服务(替换成你的服务名称):
    sc delete postgresql-x64-9.4
    
  • 然后重新注册服务(指定数据目录和登录账户,这里用Network Service做示例):
    "C:\Program Files\PostgreSQL\9.4\bin\pg_ctl.exe" register -N "postgresql-x64-9.4" -D "C:\Program Files\PostgreSQL\9.4\data" -U "NT AUTHORITY\Network Service"
    
  • 注册完成后启动服务,观察是否正常

如果以上方案都没解决,优先看方案2生成的启动日志,那是定位问题的核心依据——很多时候服务停止的真实原因藏在日志里,不是系统提示的那句模糊描述。

内容的提问来源于stack exchange,提问作者Gunnar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:21:25