一、问题
最近,测试部门反映在Windows平台安装PostgreSQL 9.4失败,弹出信息框的错误信息大致是:
“Problem running post-install step. Installation may not complete correctly. ...”
其后的信息因不同安装版本而略有不同。
经搜集资料并反复实验,找到了一种可适用于大多数环境(已在win7, win10, win server 2012和 win server 2016验证)的解决办法。
以下以PostgreSQL-9.4.14-1-win64-bigsql.exe安装程序为例,其它版本的安装程序大同小异。
二、成功要点
2.1 事先创建好安装目录,并分配权限
比如计划安装在D:\PostgreSQL目录,则事先创建好该目录。
然后在文件管理器里右击该目录—>“属性”—>“安全”—>“编辑”—>为user用户添加“完全控制”和“修改”权限—>完成。
关于权限,至少要把“修改”权限赋予user用户;我们为保险将“完全控制”也一并赋予。
2.2 使用非Administrator用户安装PostgreSQL
不要使用Administrator用户来进行安装,如果只存在Administrator一个用户,在控制面板里另外创建一个(名字随意),为其赋予管理员权限。
用刚刚创建的用户登录,直接运行安装程序,不必使用“以管理员身份运行”。
另外,最好在安装期暂时关闭杀毒软件、安全卫士、防火墙等,以防止对安装过程的干扰,尤其是在windows server平台。
2.3 若出错,先卸载再马上重新安装
一般情况下,安装程序已经可以正确安装了,判断标准是:
- 安装过程中有“数据库初始化“、“创建用户”、“配置5432端口”、“注册服务”等提示;
- 安装完成后,系统服务里出现“PostgreSQL 94 Server”。
若没出现上述情况就出现“Problem running post-install step. Installation may not complete correctly.”的提示框,说明安装失败。
此时也不用着急,在控制面板中卸载掉“PostgreSQL”,不要删除安装目录,再重新安装一次,基本上都会安装成功。
有时候仍会出现“Problem running post-install step...”的提示框,但只要PostgreSQL 94 Server服务已添加,可不用理会。
2.4 最后的补救措施:执行pgservice.exe
若在上述过程中出现差错,不妨尝试下在cmd窗口执行pgservice.exe(目录为D:\PostgreSQL\pg94),若能添加一个名为pgservice的服务,且该服务可正常启动、关闭,则可视为“99.9%成功”。
不过,此方法只在部分场合有效,且可能引起一些遗留问题,只能作为最终的救命稻草,可以的话还是不用为佳。