Windows 10 安装 PostgreSQL 13 过程中报错 PostgreSQL: The database cluster initialization failed。
安装完成后尝试使用以下命令启动 PostgreSQL:

pg_ctl.exe -D "D:\Program Files\PostgreSQL\13\data" start

出现以下的错误提示:

pg_ctl: 目录 "D:/Program Files/PostgreSQL/13/data"不是一个数据库集群目录

同时在 Windows 的系统服务中也无法找到 PostgreSQL 的服务 postgresql-x64-13

一番搜索后发现是安装过程中的用户权限不足导致,可以尝试使用以下步骤解决(需以管理员的权限运行命令行):

  1. 运行 PostgreSQL 安装目录下的 uninstall-postgresql.exe 卸载 PostgreSQL:
  2. 如果 postgres 用户已存在,先删除该用户:

    net user postgres /delete
  3. 创建 postgres 用户并记住设置的用户密码:

    net user /add postgres <password>
  4. postgres 用户加入到 Administrators 用户组:

    net localgroup administrators postgres /add
  5. postgres 用户加入到 Power Users 用户组:

    net localgroup "power users" postgres /add
  6. 使用 postgres 用户启用一个新的命令行窗口:

    runas /user:postgres cmd.exe
  7. 在新的命令行窗口中运行安装程序(先使用cd命令进入到安装程序postgresql-13.4-1-windows-x64.exe所在的目录再运行以下命令):

    .\postgresql-13.4-1-windows-x64.exe
  8. 安装完成后,从Administrators用户组中删除postgres用户:

    net localgroup administrators postgres /delete
  9. 禁用postgres用户:
    打开计算机管理,选择本地用户和组中的用户,找到用户postgres,右键该用户选择属性打开属性面板,勾选面板中的账户已禁用(B)然后点击确定

重新安装成功后,可以通过安装目录下 \PostgreSQL\13\pgAdmin 4\bin\pgAdmin4.exe的pgAdmin客户端和安装时设置的密码来连接postgresql数据库。

PostgreSQL 13 安装文件 postgresql-13.4-1-windows-x64.exe 下载链接: https://get.enterprisedb.com/postgresql/postgresql-13.4-1-windows-x64.exe

参考内容来源:https://dba.stackexchange.com/questions/10241/postgresql-the-database-cluster-initialization-failed

标签: none

添加新评论