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

Windows下ToolShed安装PostgreSQL失败,data目录为空且启动报错

Windows下PostgreSQL安装及启动权限问题解决

问题概述

通过ToolShed安装PostgreSQL(v11、v13、v15)时,管理员身份运行安装程序仍失败,报错:

Failed to load SQL modules into the database cluster.
Problem running post-install step. Installation may not complete correctly 
Error reading file C:/Program Files/PostgreSQL/11/data/postgresql.conf

发现C:/Program Files/PostgreSQL/11/data目录为空,手动执行initdb填充后,执行启动命令:

pg_ctl -D C:/Program Files/PostgreSQL/11/data -l logfile start

出现权限拒绝报错:

waiting for server to start....Access is denied.
stopped waiting
pg_ctl: could not start server

解决方案

1. 彻底清理残留安装文件

完全卸载现有PostgreSQL版本,删除所有相关文件和注册表项:

  • 删除C:\Program Files\PostgreSQL\目录
  • 删除隐藏目录C:\ProgramData\PostgreSQL\(需开启显示隐藏文件)
  • 打开注册表编辑器,删除HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL和HKEY_CURRENT_USER\SOFTWARE\PostgreSQL项(操作前备份注册表)

2. 更换安装目录并配置权限

C:\Program Files\受UAC严格权限控制,换用非系统保护目录(如D:\PostgreSQL\15):

  • 提前右键目标目录 → 属性 → 安全 → 编辑,添加当前用户并赋予完全控制权限,应用保存

3. 手动初始化并注册服务启动

以管理员身份打开CMD,按以下步骤操作:

  1. 切换到PostgreSQL的bin目录:
    cd D:\PostgreSQL\15\bin
    
  2. 初始化数据库集群(路径用引号包裹避免空格):
    initdb -D "D:\PostgreSQL\15\data" -U postgres -W
    
    (-U指定超级用户,-W会提示设置密码)
  3. 注册为Windows服务:
    pg_ctl register -N postgresql-15 -D "D:\PostgreSQL\15\data"
    
  4. 启动服务:
    net start postgresql-15
    

4. 排查ToolShed安装失败根源

  • 确保安装包为PostgreSQL官方原版,避免第三方修改包
  • 临时关闭杀毒软件/防火墙后重试安装,部分安全软件会拦截文件写入和服务注册
  • 安装对应版本的Visual C++ Redistributable运行库(如v15对应2019版)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:45:43