PostgreSQL Windows 服务无法启动 错误代码 1063

解决 PostgreSQL 启动权限问题

在 Windows 上使用 PostgreSQL 时, 手动移动数据库文件夹后遇到文件夹权限问题导致服务无法启动 (错误码 1063) 时, 可以按照以下步骤检查和修复权限问题

pg_ctl: 无法启动服务 "postgresql-x64-10": 错误码 1063
pg_ctl: could not start service "postgresql-x64-10": error code 1063
  1. 检查旧 PG_DATA 目录的权限

    使用 cacls 命令检查旧的数据目录权限

    cacls "c:\path\to\old\pgdata\dir"
    
  2. 检查新 PG_DATA 目录的权限

    同样, 检查新的数据目录权限

    cacls "d:\path\to\NEW\pgdata\dir"
    
  3. 比较权限差异

    比较上述两条命令输出的权限, 找到用户和权限之间的差异

  4. 同步权限

    根据差异, 设置新的权限, 确保 PostgreSQL 服务的用户有足够的权限来访问数据目录。使用 cacls 命令修改权限

    cacls "C:\Program Files\PostgreSQL\9.1\data" /E /T /C /G postgres:F
    

    这样可以确保 PostgreSQL 服务有权限访问所需的文件夹


原文

Unable to run PostgreSQL as Windows service
Windows cacls 命令详解

最后更新于 2020-01-16
使用 Hugo 构建
主题 StackJimmy 设计
时间过了 2.5 年