postgresql安装失败

时间:2012-07-25 18:39:31

标签: postgresql

我试图在我的Windows 7(64位)中安装postgresql 8.4。但它在日志

中失败并显示以下消息
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'并显示消息'vbscript.dll中的DllRegisterServer已成功',但它尚未解决我的问题。

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

如何解决此问题?

21 个答案:

答案 0 :(得分:24)

以下链接解决了我的问题

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

文章文字:

  

我会保持这个简短而甜蜜。对于那些尝试过的人   在Windows Vista上安装PostgreSQL(我的是8.3.7-1)并得到了   错误数据库群集初始化失败时的错误   安装,阅读本文。

     

问题是Vista有一些与之相关的安全功能   在Program Files文件夹上设置权限。基本上,即使   你是管理员,你不能改变某些文件夹的权限   Program Files和Windows文件夹本身。这会导致initdb成为   无法创建一些文件夹和数据库集群。这是什么   意思是你需要在另一个文件夹中安装PostgreSQL   这不在Program Files中。

     

顺便说一句,如果您忘记了Postgres帐户密码的话   第一次安装,只需在Vista中打开一个命令提示符(如果你   不知道怎么样,谷歌吧。然后键入命令“net user”。您   将在您的计算机上看到用户列表。找到Postgre的帐户。   它通常是“postgres”。然后你需要改变它的密码   输入“net user postgres new_password”,其中new_password是......好吧,a   帐户的新密码。你将需要那个postgres   安装期间的帐户。您需要管理员权限才能执行此操作   然而,改变了。

     

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

     

在安装过程中,系统将提示您选择所需位置   安装程序。只需在其他地方选择一个位置即可。喜欢   “C:\ PostgreSQL”或类似的东西。它甚至可能在您的桌面上。   但不是在Program Files中。不在Windows文件夹中。但是,它是   不那么容易忍受我。

     

安装完成后,您仍会看到该错误消息(或   发生非致命错误的事情)。不要灰心! (适用于Windows   Power Users,我们只是为Postgres分配完全控制权限   帐号在新的PostgreSQL安装文件夹中)。对于其他用户,请阅读   如果您不知道该怎么做。

     

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

     

现在,从“组或用户名”框中,选择Postgres帐户。在   在下面的窗口中,有很多复选框,分配权限“Full   控制“在允许列中。注意,如果您不想允许   完全控制,只需给它读/写。但我只是继续前进并给予了   它完全控制。 (我很累又生气。“世界上最先进的   开源数据库“无法安装!”。单击确定并等待   要应用权限的位。

     

然后,只需重新安装即可。不要卸载任何东西。跑吧   再次安装。它会说PostgreSQL安装文件夹已经存在   和其他东西。只需单击Next,直到安装完成。如果你   看“文件无法复制”错误,点击“忽略”按钮时   需要的。

     

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

答案 1 :(得分:8)

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

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

祝你好运

答案 2 :(得分:5)

对我来说问题是PATH变量没有C:\ Windows \ system32,所以它没有找到ICACLS命令来更改文件夹权限。所以解决方案是将C:\ Windows \ system32添加到系统PATH变量(如果它还没有包含它):

  1. 控制面板 - >系统 - >高级系统设置 - >高级 - >环境变量
  2. 在“系统变量”下找到并选择“路径”
  3. 点击“修改...”
  4. 现在,如果value不包含system32的路径追加字符串“; C:\ Windows \ system32”(或Windows路径所在的位置)

答案 3 :(得分:4)

我从google缓存中删除了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无法创建某些文件夹和数据库群集。这对您来说意味着您需要在另一个不在Program Files中的文件夹中安装PostgreSQL。

顺便说一句,如果您在第一次安装时忘记了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安装文件夹已经存在和其他东西。只需单击Next,直到安装完成。如果您看到“文件无法复制”错误,请在需要时单击“忽略”按钮。

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

答案 4 :(得分:3)

解决方案:

•卸载PostgreSQL

•运行命令:net user postgres / delete

•点击:控制面板 - >用户帐户 - >配置高级用户配置文件属性 - >删除所有似乎从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 - >会员 - >添加... - >超级用户 - >行

答案 5 :(得分:2)

尝试在根目录上创建的文件夹中的Windows 7 x64计算机(未加入域)上安装PostgreSQL 9.3.5-3时遇到了同样的问题,并且可以完全访问所有人。在我的密码中不使用ä解决了这个问题,因此请避免在密码中使用非英文字符。

答案 6 :(得分:2)

您的Windows安装有点麻烦,您需要重新注册VBScript引擎才能运行安装程序。

编辑:我是盲人,帖子作者已经尝试过了。

请参阅:

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

答案 7 :(得分:1)

经过一番挣扎,我发现了这篇文章。我花了更多时间,我想我终于在前任的宝贵意见的帮助下弄清楚了。

我的案子

  • 今天是2018年11月。
  • Postgresql.org建议使用EnterpriseDB的PostgreSQL 11.1 Winodws-x64
  • 试图在Windows 10(家庭版和专业版)上安装

我尝试了几个星座,并将过程归结为:

预安装

  • 卸载所有失败的安装。
  • 将本地用户“ postgres”(对我来说是小写字母)添加到您的计算机,分配简单密码和管理权限。不要不惜一切代价避免使用特殊字符,只能使用英文字母(大写和小写)和数字。
  • 在计算机上的文件夹 OUTSIDE 中添加“ C:\ Program Files”或Windows文件夹。我选择了C:\ PostgreSQL
  • 将对上述文件夹的完全控制权分配给postgres帐户。

安装

  • 运行安装程序(在我的情况下为postgresql-11.1-1-windows-x64.exe)
  • 在出现提示时使用上述密码和文件夹(不是默认文件夹)

安装后

  • 出于安全原因,您现在应该为Windows用户“ postgres”分配一个正确的密码,并从该帐户中删除管理权限。
  • 通过运行pgAdmin并连接到服务器来测试安装。但是,您需要连接到服务器的postgres用户的密码仍然是您之前使用的简单密码。您可以在pgAdmin中通过选择左侧的postgres数据库,选择“工具”->“查询工具”并键入ALTER USER postgres WITH PASSWORD '4wligzo748o$%&';或其他方法来更改它。用闪光符号或F5执行。

但是也许这完全是错误的,您应该使用postgreSQL服务器运行linux vm。

答案 8 :(得分:1)

似乎有很多原因导致安装失败。

就我而言,我使用的是Windows 10家庭版,它没有高级用户组控制, 因此上述许多解决方案都不适用于我。我想这就是安装失败的原因。

我只是使用BigSQL的安装程序,而不是EnterpriceDB的安装程序,

posgresql download center中选择第二个安装程序

或直接访问BigSQL

答案 9 :(得分:1)

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

您的问题是由于某些管理员权限问题而导致的

答案 10 :(得分:1)

我已经通过预先创建安装目录在Windows Server 2003和postgres 9.2.9-3上解决了同样的问题,并对其进行了完全访问以对用户"用户"。

答案 11 :(得分:1)

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

答案 12 :(得分:1)

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

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

我真的不知道它通常被称为什么,但它是新安装中已经存在的那个;无法更改为标准用户的那个;其个人资料存储在C:\Users\Administrator中的人。事实证明使用这个帐户是一个坏主意;学得很难。

(Windows Server 2008 R2 64位)

答案 13 :(得分:0)

我最简单的解决方法是:

1.--如果已经安装,请卸载

2.-删除所有安装失败的文件

3.-以安全模式启动Windows

4.-以安全模式运行安装程序(它会弹出警告但忽略)并重新启动

就是这样,重新启动后,服务运行正常,一切正常

答案 14 :(得分:0)

  1. 检查服务:如果有与postgres相关的文件夹将其停止,并更改为禁用模式。
  2. 检查注册表编辑器:HKEY_LOCAL_MACHINE,HKEY_CURRENT_USER->软件->删除postgres文件夹(如果存在)。
  3. 在系统环境变量:TEMP路径位置中,删除用户和系统的TEMP文件夹。并将TEMP重命名为TEMP1之类的东西。
  4. 在系统环境变量中:删除postgres的路径(如果存在)。
  5. 现在将postgres.exe文件的位置更改为另一个驱动器。
  6. 重新启动系统
  7. 然后运行postgres.exe
  8. 为postgres创建一个新的安装目录,并将/ data放在外面。

答案 15 :(得分:0)

我遇到了一个问题,即Windows上带有空格的用户名使postgres安装失败。

要测试:

  • 重新安装Windows 10 home(已还原)
  • 使用户帐户没有空格
  • Postgres安装成功

非常沮丧...

答案 16 :(得分:0)

为此问题苦苦挣扎了几天。终于得到了教育局团队的帮助 通过执行以下步骤解决了我的问题:

1)打开命令提示符,然后转到以下目录:

cd "C:\Program Files\PostgreSQL\10\bin"

2)一旦进入此"C:\Program Files\PostgreSQL\10\bin"目录,请执行以下命令:

.\initdb.exe -D "C:\Program Files\PostgreSQL\10\data"

3)在此命令的最后,您将被提升为执行pg_ctl命令以启动Postgres集群。请执行该命令,并在服务器启动时收到消息后,就可以使用Postgres数据库了。

注意:您安装的任何版本都不能代替10个用户。如果第三步中的pg_ctl命令在\bin目录中运行后出现错误,请尝试在\data目录中运行它。完成上述过程后,重新运行安装程序。

答案 17 :(得分:0)

今天在Windows 10上安装postgres 9.6.19时遇到了同样的问题。 解决方案:安装路径和Windows路径变量都不能包含空格!我发现安装日志文件的末尾(在Windows%temp%dir的窗口中找到,名称类似于bitrock_installer_16156.log)。

  

脚本stderr:“ \ UnxUtils \ usr \ local \ wbin \”;“ C:\ Program” kann   债务人斯特拉(Stelle nicht verarbeitet werden)的律师。

我设置的安装目录以及Windows%PATH%变量所在的位置

C:\Program Files\

解决方法: 以管理员身份打开命令提示符,然后键入:

set path=C:\WINDOWS\system32
PostgreSQL-9.6.10-1-win64-bigsql.exe

然后当然选择不包含空格的路径。 对我来说是成功的。

答案 18 :(得分:0)

尝试在我公司的计算机上安装同样的问题(运行Windows 7的PC)。如果您不是计算机管理员,则需要将其安装在您的个人用户中#34;文件夹(不在" Program Files"根目录下的文件夹)。

如果您仍然无法访问Postgres

一旦您将其安装在"用户"文件夹,使用'运行'程序并输入" services.msc"并按Enter键。在弹出的窗口中,转到postgres安装,右键单击并转到" properties"。在"登录"选项卡,选择"本地系统帐户"然后回到"将军"选项卡并单击"开始"。它应该在那之后启动。

在此之后,我能够运行" pgAdmin"并访问数据库(输入我在安装过程中使用的密码)。

答案 19 :(得分:0)

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

答案 20 :(得分:0)

我知道这不是解决方案,而是安装了32位Postgres,为我工作