在Windows Server 2008上安装postgresql时出现问题

时间:2017-02-14 06:25:59

标签: windows postgresql

我正在尝试在Windows Server 2008上安装PostgreSQL 9.0.1,但每次都会出现这样的错误消息

  

“运行安装后步骤时出现问题。安装可能无法完成   正确。无法启动数据库服务器“

在安装日志中,由于initdb.exe失败,错误是

  

“initdb需要程序postgres,但是没有找到   与D:\ PostgreSQL \ 9.0 \ bin \ initdb.exe相同的目录,检查一下   安装“。

我在互联网上搜索了这样的错误并尝试了此页面中的解决方案“Installing PostgreSQL on Windows Server 2008”,但没有帮助。

在阅读initdb的代码后,我知道它是由函数pipe_read_line中的窗口api CreateProcess引起的。 CreateProcess的调用返回-5(访问被拒绝)。这是因为initdb是在函数CreateRestrictedProcess中调用的子进程中执行的。 我知道这是由于权限设置,我运行gpedit.msc将用户组(甚至每个人)添加到几乎所有权限策略中,但错误仍然存​​在。

我还为每个人分配了安装目标文件夹的完全控制权,没有帮助!

我也试过postgresql 9.6.2,错误仍然存​​在: - )

从代码中,我知道如果环境变量PG_RESTRICT_EXEC的值为1,则initdb将不会在受限制的进程中执行。所以在运行initdb.exe之前,我在命令提示符下设置了一个环境PG_RESTRICT_EXEC = 1,然后运行initdb.exe。这次这样的错误消失了!!

所以我想知道如何更改os设置以允许安装正常运行!

0 个答案:

没有答案