【问题标题】:postgresql installation failedpostgresql 安装失败
【发布时间】:2012-07-25 18:39:30
【问题描述】:

我尝试在我的 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 的文件路径,但它也没有解决我的问题。

如何解决这个问题?

【问题讨论】:

  • 您可以从命令行手动运行 .vbs 脚本吗?为什么要安装即将过时的版本?当前版本是 9.1,门口有 9.2
  • 8.4.*什么* 顺便说一句?对安装程序进行了一系列改进。 8.4.12 是最新的,你用的是这个吗?较新的版本应在运行任何脚本之前检查工作的 VBScript 环境。另外:上面的日志是之后你重新注册vbscript吗?如果没有,请再次检查日志,您可能会遇到不同的问题。
  • 我也尝试过 9.1,但结果相同。这是注册vbscript后的最新日志。
  • @shinod Gah,另一个奇怪的特定于系统的 Windows 损坏部分。您是否在禁用防病毒扫描程序后尝试过?如果您在这里没有任何运气,请尽快询问 pgsql-general,我会戳 Dave 或其他 EnterpriseDB 安装人员之一。
  • @CraigRinger 我有avast 防病毒软件,但我完全删除了它,但我并不走运。还有其他解决方案吗?

标签: postgresql


【解决方案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目录下运行。完成上述过程后重新运行安装程序。

【讨论】:

    【解决方案2】:

    以下链接解决了我的问题

    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 是……嗯,一个 帐户的新密码。你将需要那个 postgres 安装过程中的帐户。您需要管理员权限才能执行此操作 但是改变。

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

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

    安装后,您仍然会看到该死的错误消息(或 发生类似非致命错误的事情)。不要绝望! (对于 Windows 高级用户,我们只是将完全控制权限分配给 Postgres 新 PostgreSQL 安装文件夹上的帐户)。对于其他用户,请阅读 如果你不知道该怎么做。

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

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

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

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

    【讨论】:

    • 现在链接失效了。这是一个完美的例子,为什么您应该在此处发布答案而不是链接!
    • 这么简单,这个答案是在 2012 年写的,在它尚未修复 3 年后...
    • +1 谢谢你这样做了!但是,要补充一点,我还必须手动创建用户帐户 Postgres,然后执行 runas /user:Postgres installer.exe,因为它不是自动创建的。
    • 这对我有用,无需再次安装。
    • @FelixDombek 你在哪里运行了这个命令,你是如何运行它的?
    【解决方案3】:

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

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

    【讨论】:

    • 过去两天我一直在尝试安装 10.0.1 版,我很确定这可以解决问题。即使C:\WINDOWS\system32 在我的路径中,一旦我在其上方添加C:\Windows\System32,安装程序就会运行而没有初始化错误。注意:我还创建了一个 postgres 用户来运行安装程序,并在第一次安装后对文件夹设置完全控制权限,然后重新运行安装程序。
    • 为我工作 使用全新的 windows 10 pc 和 PostgreSQL 10.5。新鲜到什么程度? %PATH% 是空的,就是这么新鲜。
    【解决方案4】:

    解决方案:

    • 卸载 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 -> 成员 -> 添加... -> 高级用户 -> 确定

    【讨论】:

    • 使用最新的 Postgres 版本 (9.x),不再需要额外的 Windows 用户 postgres
    • 删除“postgres”用户可能会破坏系统上的第 3 方附加功能(pgagent 等),因此也要准备好重新安装其他东西。
    【解决方案5】:

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

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

    祝你好运

    【讨论】:

      【解决方案6】:

      经过一番挣扎,我发现了这篇文章。我又挣扎了一段时间,我想我终于在这篇文章中前辈们提供的所有宝贵意见的帮助下弄明白了。

      我的情况

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

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

      预安装

      • 卸载所有失败的安装。
      • 将本地用户“postgres”(对我来说是小写的)添加到您的计算机,分配一个简单的密码和管理权限。不惜一切代价避免使用特殊字符,只使用英文字母(大写和小写)和数字。
      • 在您的计算机上添加一个文件夹OUTSIDE“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。

      【讨论】:

        【解决方案7】:

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

        【讨论】:

        • 你好.. 我尝试了一切,但仍然给出此错误“无法在 TEMP 环境变量路径中写入”。在 C 盘以外的地方运行 .exe 时,它​​会生成 tmp 文件。请帮帮我。
        【解决方案8】:

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

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

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

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

        或直接访问BigSQL

        【讨论】:

          【解决方案9】:

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

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

          【讨论】:

            【解决方案10】:

            我已经从 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)并在安装结束时收到错误 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 上启动并运行。希望它对您也有用,就像对我一样,并且我的指南对任何人都有帮助。如果它有效,或者如果您有其他解决方案,请告诉我们。感谢阅读!

            【讨论】:

              【解决方案11】:

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

              编辑:我瞎了,帖子作者已经试过了。

              见:

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

              【讨论】:

              • 我已经浏览了这个链接并按照选项 1 中的说明完成了。它成功了。但这并没有解决我的问题。 (我在我的问题中指定了它)
              • @shinod 该死的,我瞎了。对不起。
              【解决方案12】:

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

              【讨论】:

                【解决方案13】:

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

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

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

                (Windows Server 2008 R2 64 位)

                【讨论】:

                • 安装程序 应该在任何管理员帐户下运行,除非您设置了一些时髦的组策略。出于安全原因,服务器本身不想在任何具有管理员权限的帐户下运行。
                • @CraigRinger 是的,但由于某种原因没有。盒子或多或少是香草 2008 R2,没有加入域,没有时髦的组策略。
                【解决方案14】:

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

                【讨论】:

                  【解决方案15】:

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

                  【讨论】:

                    【解决方案16】:

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

                    【讨论】:

                      【解决方案17】:

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

                      如果您仍然无法访问 Postgres

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

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

                      【讨论】:

                        【解决方案18】:

                        我今天在 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
                        

                        然后当然选择不包含空白的路径。 这对我有用。

                        【讨论】:

                          【解决方案19】:

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

                          测试:

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

                          非常沮丧...

                          【讨论】:

                            【解决方案20】:
                            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 放在外面。

                            【讨论】:

                              【解决方案21】:

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

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

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

                              3.- 以安全模式启动窗口

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

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

                              【讨论】:

                                猜你喜欢
                                • 2018-02-19
                                • 1970-01-01
                                • 1970-01-01
                                • 2019-03-14
                                • 2021-10-22
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多