2012-07-25 410 views
12

我试图安装postgresql 8.4在我的Windows 7(64位)。但它失败postgresql安装失败

 
Initialising the database cluster (this may take a few minutes)... 
Executing cscript //NoLogo "C:\PostgreSQL\8.4/installer/server/initcluster.vbs" "postgres" "postgres" "****" "C:\PostgreSQL\8.4" "C:\PostgreSQL\data" 5432 "DEFAULT" 
Script exit code: 1 

Script output: 
CScript Error: Can't find script engine "VBScript" for script "C:\PostgreSQL\8.4\installer\server\initcluster.vbs". 

Script stderr: 
Program ended with an error exit code 

Error running cscript //NoLogo "C:\PostgreSQL\8.4/installer/server/initcluster.vbs" "postgres" "postgres" "****" "C:\PostgreSQL\8.4" "C:\PostgreSQL\data" 5432 "DEFAULT" : Program ended with an error exit code 
Problem running post-install step. Installation may not complete correctly 
The database cluster initialisation failed. 
Creating Uninstaller 
Creating uninstaller 25% 
Creating uninstaller 50% 
Creating uninstaller 75% 

我用Google搜索这个,然后运行命令“REGSVR32的vbscript.dll”在日志下面的消息,它显示消息“中的DllRegisterServer vbscript.dll中是成功的”,但它没有解决了我的问题。

此外,我在注册表中设置{B54F3741-5B07-11cf-A4B0-00AA004A55E8}的默认值为vbscript.dll的文件路径,但它也没有解决我的问题。

如何解决这个问题?

+1

你能从命令行手动运行.vbs脚本吗?你为什么要安装即将过时的版本?目前的版本是9.1和9.2,在门口 – 2012-07-25 21:34:21

+0

8.4。*什么*顺便说一句?对安装人员进行了一系列改进。 [8.4.12](http://www.enterprisedb.com/products-services-training/pgdownload#windows)是最新的,这就是你正在使用的?在运行任何脚本之前,新版本应该检查工作的VBScript环境。另外:在重新注册vbscript之后,上面的日志是从*开始的吗?如果没有,再次检查日志,可能会遇到不同的问题。 – 2012-07-26 04:28:41

+0

我也试过9.1,但结果相同。这是注册vbscript之后的最新日志。 – shin 2012-07-26 04:30:33

回答

21

以下链接解决我的问题

http://www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/

文章全文:

我会记住这一个简短而亲切。对于那些已经在Windows Vista上尝试 到安装PostgreSQL(我的是8.3.7-1),并得到了 错误数据库集群初始化失败错误在 安装结束时,请阅读本。

的问题是,Vista有与Program Files文件夹 设置权限相关联的一些安全功能。基本上,即使 您是管理员,您也无法更改某些文件夹(如 程序文件和Windows文件夹本身)的权限。这会导致initdb为 无法创建一些文件夹和数据库群集。 对您而言意味着您需要将PostgreSQL安装在不在Program Files内的另一个文件夹 中。顺便说一下,如果你忘记了你的Postgres帐户密码,而第一次安装 ,只需在Vista中打开一个命令提示符(如果你不知道怎么做,Google就知道它了)。然后输入命令“net user”。您 会在您的计算机上看到用户列表。查找Postgre的帐户。 它通常是“postgres”。然后你需要改变密码 ,输入“net user postgres new_password”,其中new_password是...好吧,一个 帐号的新密码。安装期间您需要使用postgres 帐户。但是,您需要管理员权限才能执行此更改 。

首先卸载任何安装失败。使用控制面板或 安装文件夹中的PostgreSQL安装程序。

在安装过程中,系统会提示您选择要 安装程序。只需在另一个地方选择一个位置。像 “C:\ PostgreSQL”或类似的东西。它甚至可能在你的桌面上。 但不在Program Files中。不在Windows文件夹内。但是,它的 并不容易。忍受着我。

安装完成后,您仍然会看到该错误消息(或 类似非致命错误)。不要灰心! (对于Windows 高级用户,我们只是在新的PostgreSQL安装文件夹上为Postgres 帐户分配完全控制权限)。对于其他用户,如果您不知道如何操作,请阅读 。

转到您刚安装PostgreSQL的地方。在这种情况下,C: 驱动器。在那里,右键点击该文件夹(通常称为PostgreSQL), 并转到属性 - 安全选项卡。点击编辑按钮。你现在会看到一些用户名和其他东西。点击添加按钮。 在“输入要选择的对象名称”框中,输入“postgres”并按 按检查。 Postgres的用户帐户应该出现在那里。点击确定。

现在从“组或用户名”框中选择Postgres帐户。在 下面的窗口中,有很多复选框,在允许列中为其分配权限“Full Control”。请注意,如果您不想允许完全控制 ,只需对其进行读取/写入即可。但我只是继续给它完全控制。 (我很累而且很烦,“世界上最先进的 开源数据库”没有安装!)。点击确定并等待 位以获得应用权限。

然后,只需要重新安装。不要卸载任何东西。再次运行 安装程序。它会说一个PostgreSQL安装文件夹已经存在 和其他的东西。只需点击下一步,直到安装完成。如果你 看到“文件不能被复制”的错误,当需要 时点击“忽略”按钮。

就是这样。 PostgreSQL现在应该在Vista上运行。希望它 也适用于你,因为它对我来说也是如此,而且我的指南对任何人都有帮助 。如果它有效,或者您有其他解决方案,请告诉我们。 感谢您的阅读! :)

+1

现在链接不再工作。这是一个完美的例子,你应该在这里发布答案,而不是链接! – 2013-03-23 09:18:56

+0

这对我来说很好。拯救生命。谢谢。 – sanjay 2015-01-02 06:04:23

+0

这么简单,这个答案是在2012年写的,还没写完3年之后...... – 2015-11-24 11:53:15

2

您的Windows安装是有点borked,你将需要重新注册VBScript引擎来获取安装程序运行。

编辑:我瞎了,文章作者已经尝试过这一点。

请参见:

http://wiki.postgresql.org/wiki/Running_%26_Installing_PostgreSQL_On_Native_Windows#The_installer_exits_with_a_runtime_installation_error.3F

+0

我已经通过这个链接并按照它在选项1中所述完成。并且它成功了。但它没有解决我的问题。(我在我的问题中指定) – shin 2012-07-26 04:24:56

+1

@shinod该死的,我是盲人。抱歉。 – 2012-07-26 04:26:19

+0

感谢您的帮助... – shin 2012-07-26 04:31:59

6

我得到了相同的结果,在Windows 7上安装“postgresql-9.2.3-1-windows-x64.exe”企业 ,当我改变安装路径的问题得到解决。

尝试安装到的 “c:\postgresql”,而不是 “c:\program files\Postgresql

好运

4

我拉从谷歌的缓存Shin的链接:

原文链接: http://www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/

缓存链接: http://webcache.googleusercontent.com/search?q=cache:RXu-5-ZzfcgJ:www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/+&cd=3&hl=ro&ct=clnk


PostgreSQL数据库集群初始化失败解决方案

我会记住这一个简短而亲切。对于那些试图在Windows Vista上安装PostgreSQL(我的版本为8.3.7-1)的用户,在安装结束时出现错误数据库集群初始化失败错误,请阅读本文。

问题是Vista有一些与在Program Files文件夹上设置权限相关的安全功能。基本上,即使您是管理员,也无法更改某些文件夹(如Program Files和Windows文件夹本身)的权限。这会导致initdb无法创建一些文件夹和数据库集群。这对您意味着什么,您需要将PostgreSQL安装在不在Program Files内的另一个文件夹中。顺便说一下,如果您在第一次安装时忘记了您的Postgres帐户密码,只需在Vista中打开一个命令提示符(如果您不知道如何,Google就可以使用它)。然后输入命令“net user”。您会在计算机上看到用户列表。查找Postgre的帐户。通常是“postgres”。然后,您需要通过输入“net user postgres new_password”来更改其密码,其中new_password是...以及该帐户的新密码。您将在安装过程中需要该postgres帐户。但是,您需要管理员权限才能执行此更改。

首先卸载任何安装失败。使用安装文件夹中的控制面板或PostgreSQL安装程序。

在安装过程中,系统会提示您选择要安装程序的位置。只需在另一个地方选择一个位置。像“C:\ PostgreSQL”或类似的东西。它甚至可能在你的桌面上。但不在Program Files中。不在Windows文件夹内。但是,这并不容易。忍受着我。

安装完成后,您仍然会看到该死的错误信息(或类似非致命错误发生)。不要灰心! (对于Windows Power Users,我们只需在新的PostgreSQL安装文件夹上为Postgres帐户分配完全控制权限)。对于其他用户,如果您不知道如何操作,请继续阅读。

转到您刚安装PostgreSQL的地方。在这种情况下,C:驱动器。在那里,右键点击文件夹(通常称为PostgreSQL),然后进入属性 - 安全选项卡。点击编辑按钮。您现在将看到一些用户名和其他内容。点击添加按钮。在“输入要选择的对象名称”框中,输入“postgres”并按检查。 Postgres的用户帐户应该出现在那里。点击确定。

现在从“组或用户名”框中选择Postgres帐户。在下面的窗口中,有很多复选框,在允许列中为其分配权限“完全控制”。请注意,如果您不想完全控制,只需对其进行读取/写入即可。但我只是继续前进并给予完全控制权。 (我已经厌倦和烦恼了,“世界上最先进的开源数据库”未能安装!)。点击确定,等待一段时间才能应用权限。

然后,只需要重新安装。不要卸载任何东西。再次运行安装程序。它会说一个PostgreSQL安装文件夹已经存在和其他的东西。只需点击下一步,直到安装完成。如果您看到“文件无法复制”错误,请在需要时单击“忽略”按钮。

就是这样。 PostgreSQL现在应该在Vista上运行。希望它对你也有效,因为它对我来说也是如此,而且我的指南对任何人都有帮助。如果它有效,或者您有其他解决方案,请告诉我们。谢谢阅读!

1

此消息仍然出现在Postgres v9.3.1.1中。

对我来说,问题是运行安装程序“管理员”帐户。这不起作用。在下运行一个管理员帐户,避免内置“管理员”帐户。

我真的不知道它通常叫什么,但它是全新安装时已存在的东西;无法更改为标准用户的人;其个人资料存储在C:\Users\Administrator中。原来使用这个账户是个不错的主意;学会了这一难题。

(在Windows Server 2008 R2 64位)

+0

*安装程序*应在任何管理员帐户下运行,除非您有一些时髦的组策略设置。出于安全原因,其自身不想在具有管理权限的任何帐户下运行的服务器。 – 2014-05-14 05:02:08

+0

@CraigRinger是的,但它没有出于某种原因。该盒子或多或少都是香草2008 R2,没有加入域名,没有时髦的组策略。 – 2014-05-14 14:28:39

1

解决方案:

•卸载PostgreSQL的

•运行命令:net用户的Postgres /删除

•点击:控制面板 - >用户帐户 - >配置高级用户配置文件属性 - >删除似乎从PostgreSQL安装中留下的所有“未知用户”实例。

•运行:COMPMGMT.MSC - >单击本地用户和组 - >用户 - >新用户 - >用户名:Postgres的,密码:postgrespass - >创建

•运行:COMPMGMT.MSC - >单击本地用户和组 - >用户 - > postgres - >成员 - >添加... - >管理员 - >确定

•将PostgreSQL安装程序postgresql-8.4.9-1-windows.exe复制到C:\

•运行:runas/user:postgres cmd.exe - > cd \ - > postgresql-8.4.9-1-windows.exe - >安装成功,没有错误。检查数据文件夹和确认的文件已成功创建。

•运行:COMPMGMT.MSC - >本地用户和组 - >用户 - > Postgres的 - >会员 - >管理员 - >删除

•运行:COMPMGMT.MSC - >本地用户和组 - >用户 - > postgres - >成员 - >添加... - >超级用户 - >确定

+0

使用最新的Postgres版本(9.x),不再需要额外的Windows用户'postgres'。 – 2014-04-16 16:05:02

+0

删除“postgres”用户可能会破坏系统上的第三方附加功能(pgagent等),因此准备重新安装其他的东西。 – 2014-05-14 05:02:51

2

对我来说,问题是PATH变量没有C:\ Windows \ system32,所以没有找到ICACLS命令来改变文件夹权限。所以,解决的办法就是添加C:\ Windows \ System32下到系统PATH变量(如果它不包含它的话):

  1. 控制面板 - >系统 - >高级系统设置 - >高级 - >环境变量
  2. 在“系统变量”查找和选择“路径”
  3. 点击“编辑...”
  4. 现在,如果值不包含路径SYSTEM32追加字符串“; C:\ Windows \ System32下”(或您的地方windows的路径是)
+0

我一直在试图安装最近两天的10.0.1版本,我很确定这个技巧。即使'C:\ WINDOWS \ system32'在我的路径中,一旦我在其上面添加了'C:\ Windows \ System32',安装程序就会运行而不会出现初始化错误。注意:我还创建了一个postgres用户来运行安装程序,并在第一次安装完成后对该文件夹设置完全控制权,然后重新安装安装程序。 – pheeper 2017-11-02 18:33:46

2

我也一样尝试在Windows 7 x64计算机(未加入域)上安装PostgreSQL 9.3.5-3时发生的问题,该文件夹在根目录中创建,并具有对所有人的完全访问权限。该问题已通过在我的密码中不使用ä解决,因此请避免在密码中使用非英文字符。

0

嘿家伙的答案很简单,只需在程序文件之外的另一个文件夹上安装postgresql。它提示一个非致命错误,并继续安装...

1

我已经解决了同样的问题,在Windows Server 2003和Postgres 9.2.9-3通过创建目录进行安装事先,并给它充分的访问权限组“用户”。

0

我知道这是不是该解决方案,但在安装32位的Postgres,为我工作

0

我不得不尝试在Windows 7的32位计算机上安装PostgreSQL 9.6.2,当同样的问题,但我得到解决方案,首先卸载安装的postgres,然后从'c'驱动器中删除postgres文件夹,从位于“C:\ Users \ AppData \ Local \ Temp”中的临时文件中删除条目。然后再次安装postgres 9.6.2安装成功。

1

答案很简单,将下载的.exe文件移动到其他文件夹。例如:c:\ postgres并尝试安装它。

您的问题是,由于一些管理员权限发出

0

有同样的问题,试图对我公司的电脑上安装(PC运行Windows 7)。如果您的计算机不是管理员,则需要将其安装在个人“用户”文件夹(而不是根目录下的“程序文件”文件夹)中。

如果您仍然无法访问Postgres的

一旦你在你的“用户”文件夹中安装它,使用“运行”程序,键入“SERVICES.MSC”并回车。在弹出的窗口中,进入postgres安装,右键单击并转到“属性”。在“登录”选项卡上,选择“本地系统帐户”,然后返回到“常规”选项卡并单击“开始”。它应该在那之后启动。

在此之后,我能够运行“pgAdmin”并访问数据库(输入安装期间使用的密码后)。