Windows 10 安装 PostgreSQL 13 过程中报错 PostgreSQL: The database cluster initialization failed
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
。
一番搜索后发现是安装过程中的用户权限不足导致,可以尝试使用以下步骤解决(需以管理员的权限运行命令行):
- 运行 PostgreSQL 安装目录下的
uninstall-postgresql.exe
卸载 PostgreSQL: 如果
postgres
用户已存在,先删除该用户:net user postgres /delete
创建
postgres
用户并记住设置的用户密码:net user /add postgres <password>
将
postgres
用户加入到Administrators
用户组:net localgroup administrators postgres /add
将
postgres
用户加入到Power Users
用户组:net localgroup "power users" postgres /add
使用
postgres
用户启用一个新的命令行窗口:runas /user:postgres cmd.exe
在新的命令行窗口中运行安装程序(先使用
cd
命令进入到安装程序postgresql-13.4-1-windows-x64.exe
所在的目录再运行以下命令):.\postgresql-13.4-1-windows-x64.exe
安装完成后,从
Administrators
用户组中删除postgres
用户:net localgroup administrators postgres /delete
- 禁用
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