20

我试图在我的 Windows 7(64 位)中安装 postgresql 8.4。但它失败并在日志中显示以下消息

正在初始化数据库集群(这可能需要几分钟)...
执行 cscript //NoLogo "C:\PostgreSQL\8.4/installer/server/initcluster.vbs" "postgres" "postgres" "****" "C:\PostgreSQL\8.4" "C:\PostgreSQL\data" 5432 “默认”
脚本退出代码:1

脚本输出:
 CScript 错误:找不到脚本“C:\PostgreSQL\8.4\installer\server\initcluster.vbs”的脚本引擎“VBScript”。

脚本标准错误:
 程序以错误退出代码结束

运行 cscript 时出错 //NoLogo "C:\PostgreSQL\8.4/installer/server/initcluster.vbs" "postgres" "postgres" "****" "C:\PostgreSQL\8.4" "C:\PostgreSQL\data" 5432“DEFAULT”:程序以错误退出代码结束
运行安装后步骤时出现问题。安装可能无法正确完成
 数据库集群初始化失败。
创建卸载程序
创建卸载程序 25%
创建卸载程序 50%
创建卸载程序 75%

我对此进行了谷歌搜索并运行命令“regsvr32 vbscript.dll”,它显示消息“vbscript.dll 中的 DllRegisterServer 成功”,但它并没有解决我的问题。

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

如何解决这个问题?

4

21 回答 21

27

以下链接解决了我的问题

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

文章正文:

我会保持这个简短而甜蜜。对于那些尝试在 Windows Vista 上安装 PostgreSQL(我的是 8.3.7-1)并在安装结束时收到错误 Database Cluster Initialisation Failed 错误的人,请阅读此内容。

问题是 Vista 有一些与设置 Program Files 文件夹权限相关的安全功能。基本上,即使您是管理员,也无法更改某些文件夹(如 Program Files 和 Windows 文件夹本身)的权限。这会导致 initdb 无法创建某些文件夹和数据库集群。这对您来说意味着您需要将 PostgreSQL 安装在 Program Files 之外的另一个文件夹中。

顺便说一句,如果您在第一次安装时忘记了 Postgres 帐户密码,只需在 Vista 中打开命令提示符(如果您不知道如何操作,请谷歌)。然后输入命令“net user”。您将在您的计算机上看到一个用户列表。找到 Postgre 的帐户。它通常是“postgres”。然后,您需要通过键入“net user postgres new_password”来更改其密码,其中 new_password 是……嗯,该帐户的新密码。在安装过程中您将需要该 postgres 帐户。但是,您需要管理员权限才能进行此更改。

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

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

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

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

现在从“组或用户名”框中,选择 Postgres 帐户。在下面的窗口中,有很多复选框,在允许列中为其分配“完全控制”权限。请注意,如果您不想允许完全控制,只需给它读/写。但我只是继续前进并完全控制它。(我又累又恼。“世界最先进的开源数据库”安装失败!)。单击确定并稍等片刻以应用权限。

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

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

于 2012-08-03T17:18:00.647 回答
9

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

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

祝你好运

于 2013-02-20T09:14:56.200 回答
7

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

  1. 控制面板 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量
  2. 在“系统变量”下找到并选择“路径”
  3. 点击“编辑...”
  4. 现在,如果值不包含 system32 附加字符串的路径;C:\Windows\system32(或您的 Windows 路径所在的任何位置)
于 2014-09-26T13:09:01.080 回答
4

Solution:

• Uninstall PostgreSQL

• Run command: net user postgres /delete

• Click: Control Panel -> User Accounts -> Configure advanced user profile properties -> delete all “Unknown User” instances that seem to be left from PostgreSQL installation.

• Run: compmgmt.msc -> Click Local Users and Groups -> Users -> New User… -> User name: postgres, Password: postgrespass -> Create

• Run: compmgmt.msc -> Click Local Users and Groups -> Users -> postgres ->Member of -> Add… -> Administrators -> OK

• copy the PostgreSQL installer postgresql-8.4.9-1-windows.exe to C:\

• Run: runas /user:postgres cmd.exe -> cd \ -> postgresql-8.4.9-1-windows.exe -> installed successfully without errors. Checked data folder and confirmed files created successfully.

• Run: compmgmt.msc -> Local Users and Groups -> Users -> postgres -> Member of -> Administrators -> Remove

• Run: compmgmt.msc -> Local Users and Groups -> Users -> postgres -> Member of -> Add… -> Power Users -> OK

于 2014-04-16T15:29:41.987 回答
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)并在安装结束时收到错误 Database Cluster Initialisation Failed 错误的人,请阅读此内容。

问题是 Vista 有一些与设置 Program Files 文件夹权限相关的安全功能。基本上,即使您是管理员,也无法更改某些文件夹(如 Program Files 和 Windows 文件夹本身)的权限。这会导致 initdb 无法创建某些文件夹和数据库集群。这对您来说意味着您需要将 PostgreSQL 安装在 Program Files 之外的另一个文件夹中。

顺便说一句,如果您在第一次安装时忘记了 Postgres 帐户密码,只需在 Vista 中打开命令提示符(如果您不知道如何操作,请谷歌)。然后输入命令“net user”。您将在您的计算机上看到一个用户列表。找到 Postgre 的帐户。它通常是“postgres”。然后,您需要通过键入“net user postgres new_password”来更改其密码,其中 new_password 是……嗯,该帐户的新密码。在安装过程中您将需要该 postgres 帐户。但是,您需要管理员权限才能进行此更改。

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

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

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

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

现在从“组或用户名”框中,选择 Postgres 帐户。在下面的窗口中,有很多复选框,在允许列中为其分配“完全控制”权限。请注意,如果您不想允许完全控制,只需给它读/写。但我只是继续前进并完全控制它。(我又累又恼。“世界最先进的开源数据库”安装失败!)。单击确定并稍等片刻以应用权限。

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

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

于 2013-05-22T09:06:58.247 回答
2

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

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

看:

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

于 2012-07-26T00:32:33.987 回答
2

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

于 2014-10-30T21:52:16.697 回答
1

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

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

我真的不知道它通常叫什么,但它是全新安装中已经存在的那个;无法更改为标准用户的用户;其配置文件存储在C:\Users\Administrator. 事实证明,使用这个帐户是个坏主意;艰难地学会了它。

(Windows Server 2008 R2 64 位)

于 2013-11-26T00:22:35.643 回答
1

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

于 2014-11-11T06:35:27.877 回答
1

我已经在 Windows Server 2003 和 postgres 9.2.9-3 上解决了同样的问题,方法是预先创建安装目录,并授予“用户”组对其的完全访问权限。

于 2015-02-03T09:23:57.023 回答
1

为这个问题苦苦挣扎了好几天。终于得到EDB团队的帮助我的问题通过以下步骤得到解决:

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目录中运行。完成上述过程后重新运行安装程序。

于 2020-05-27T20:25:33.633 回答
1

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

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

于 2017-05-06T03:09:49.177 回答
1

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

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

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

在posgresql下载中心选择第二个安装程序

或者直接访问BigSQL

于 2018-07-05T06:31:45.117 回答
1

经过一番挣扎,我遇到了这个帖子。我又挣扎了一段时间,我想我终于在这篇文章中我的前辈的所有宝贵意见的帮助下弄明白了。

我的情况

  • 现在是 2018 年 11 月。
  • 根据 postgresql.org 的建议,来自 EnterpriseDB 的 PostgreSQL 11.1 Winodws-x64
  • 尝试在 Windows 10(家庭版和专业版)上安装

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

预安装

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

安装

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

安装后

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

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

于 2018-11-14T09:54:10.053 回答
0

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

如果您仍然无法访问 Postgres

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

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

于 2017-05-16T20:07:09.820 回答
0

我知道这不是解决方案,而是安装 32 位 Postgres,对我有用

于 2016-01-06T08:52:51.157 回答
0

我解决这个问题的最简单方法是:

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

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

3.- 以安全模式启动 Windows

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

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

于 2019-09-14T04:16:44.150 回答
0

我今天在windows 10上安装postgres 9.6.19时也遇到了同样的问题。解决方法:安装路径和windows路径变量都不能包含空白!在安装程序日志文件的末尾附近(在 wondows %temp% 目录中找到,名称类似于 bitrock_installer_16156.log)我发现:

脚本标准错误:"\UnxUtils\usr\local\wbin\";"C:\Program" kann syntaktisch an dieser Stelle nicht verarbeitet werden。

我设置的安装目录以及我的 Windows %PATH% 变量包含在哪里

C:\Program Files\

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

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

然后当然选择不包含空白的路径。那是为我做的。

于 2018-08-20T16:09:03.097 回答
0
  1. 检查服务:如果有任何与 postgres 相关的文件夹,请停止它,并更改为禁用模式。
  2. 检查 regedit: HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER -> 软件 -> 删除 postgres 文件夹(如果存在)。
  3. 在系统环境变量:TEMP 路径位置中,删除用户和系统的 TEMP 文件夹。并将 TEMP 重命名为 TEMP1 或其他东西..
  4. 在系统环境变量中:删除 postgres 的路径(如果存在)。
  5. 现在将 postgres.exe 文件的位置更改为另一个驱动器。
  6. 重启系统
  7. 然后运行 ​​postgres.exe
  8. 为 postgres 创建一个新的安装目录并将 /data 放在外面。
于 2019-09-05T23:29:56.173 回答
0

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

于 2017-03-08T18:09:30.893 回答
0

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

去测试:

  • 重新安装 Windows 10 家庭版(已恢复)
  • 创建一个没有空格的用户帐户
  • Postgres 安装成功

非常令人沮丧...

于 2019-05-05T21:46:13.017 回答