在Windows 10上安装PostgreSql 12时出现数据库集群错误

时间:2020-04-08 13:47:27

标签: windows postgresql

当我尝试在Windows计算机上安装PostgreSql 11/12时,出现以下错误:

初始化数据库集群时出错

Screenshot of the error

以下是详细信息- 端口号-5432 安装位置-我尝试将其安装在C:/ ProgramFiles中,也直接在C驱动器中安装 密码-test123 我以管理员身份运行安装程序 我也可以访问Temp目录。 我尝试将数据文件夹移到主文件夹之外。 以下是我尝试过的解决方案-

以下是日志文件中的错误:

Error running cscript //NoLogo "C:\pg/installer/server/initcluster.vbs" "NT AUTHORITY\NetworkService" "postgres" "****" "C:\Users\u6105742\AppData\Local\Temp/postgresql_installer_2714a75545" "C:\pg" "C:\pg\data" 5432 "DEFAULT" 0: Program ended with an error exit code
Problem running post-install step. Installation may not complete correctly
The database cluster initialisation failed.
Executing icacls "C:\Users\u6105742\AppData\Local\Temp/postgresql_installer_e172900ce0" /inheritance:r Script exit code: 0

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

在Windows上,我通常不再使用安装程序,因为它尝试正确设置权限是值得称赞的,但似乎会产生比其解决的问题更多的问题(尤其是对于Windows域一部分受此困扰的计算机) 。

手动运行initdb似乎更可靠,但是您必须自己修复数据目录的权限,例如:

"c:\Program Files\PostgreSQL\12\bin\initdb" -D C:\pg\data

如果您需要Windows服务,可以使用pg_ctl来完成:

"c:\Program Files\PostgreSQL\12\bin\pg_ctl" register -N postgresql-12 -D C:\pg\data

Windows服务将使用Windows "Local System"帐户运行,该帐户有时会显示as dangerous-但并不像该SO回答中所描述的那样危险,因为Postgres在启动时会删除所有提升的特权服务。

答案 1 :(得分:0)

我解决这个问题的方法如下:

  1. 下载适用于 Windows 的 Postgres 安装程序(EDB 站点)

  2. 使用管理员权限打开 Powershell 并执行以下操作:

    .\postgresql-<version>-windows-x64.exe --install_runtimes 0 --unattendedmodeui minimal --mode unattended --superpassword "<set your superuser password here>" --servicename "postgreSQL"

将 < version > 替换为您尝试安装的当前版本和您选择的超级用户密码。

它将安装所有东西并创建一个名为 postgreSQL 的服务。

相关问题