在PostgreSQL安装期间无法将sql模块加载到数据库集群中

时间:2015-06-07 01:42:14

标签: postgresql

我曾尝试多次安装PostgreSQL 9.4和8.4,无论我尝试过什么,它都会失败。我试图在Windows 7 SP1 x64上安装。每次安装失败后,我都会卸载并删除安装文件夹以重新开始。

每次尝试安装时,我都会在安装结束时弹出一个错误消息: “无法将sql模块加载到数据库集群中。”

然后在弹出后立即显示另一个错误: “运行安装后步骤时出错。安装可能无法正确完成。读取C:/ Program Files / PostgreSQL / 9.4 / postgresql.conf时出错”

我尝试使用以下操作进行安装:

  • 始终以管理员身份安装
  • 关闭所有病毒防护和Windows防火墙
  • 将安装目录更改为Program Files目录以外的其他目录。
  • 将数据目录更改为postgres安装目录以外的其他目录

上述所有操作都没有帮助,我总是收到错误。任何人可以提供的帮助将不胜感激!

15 个答案:

答案 0 :(得分:22)

尝试在Windows 10 Pro上安装PostgreSQL v9.4.4时遇到同样的错误。从a solution hosted on Stack Exchange开始,我提出了以下允许安装程序成功运行的步骤:

  

1)创建一个名为 postgres 的新用户帐户   2)将新帐户添加到管理员高级用户组中   3)重新启动计算机
  注意:我添加了步骤#3,因为没有它,步骤#4不起作用   4)使用命令运行命令提示符作为postgres用户:
   runas / user:postgres cmd.exe
  5)从 postgres 命令窗口运行安装程序
  6)删除 postgres 用户帐户以及用户目录
  注意:我添加了步骤#6,因为安装后不需要postgres帐户

答案 1 :(得分:14)

对我来说有用的是,在安装过程中,指定一个Postgre SQL数据文件夹,它位于任何Windows用户配置文件目录(C:\ Users)之外,例如C:\ postgres-data。

&#xA ;


我的设置:




    

  • Win 10 Pro

  • &#xA ;
  • PostgreSQL 9.5 RC1

  • 





当我尝试在某处设置PostgreSQL的数据目录时遇到了这个问题在我的用户个人资料目录下,例如我们在“我的文档”下的某个地方。





我尝试了Jeff G的解决方案,但最初没有用。它仅在我将数据目录保留为默认值(C:\ Program Files \ PostgreSQL \ 9.5 \ data)时才有效。然后我进一步测试并尝试将数据目录设置到任何用户配置文件目录之外的某个位置(即不在C:\ Users下的某个地方)。例如,C:\ postgres-data就可以了。





然后我尝试将该目录与我的默认用户一起使用,而不是像postgres临时用户那样烦恼在Jeff G的解决方案中,这也很有效。所以最后,它与我的数据目录在C:\ Users下的某个地方有关。只要它在那之外,它就起作用了。




答案 2 :(得分:9)

在安装Postgres 9.4时遇到了OP今天报告的非常类似的问题。

事实证明我使用的密码生成器创建了一个包含非字母数字字符的密码。 (“^”)我认为是这种情况的罪魁祸首。删除它允许完成Postgres 9.4(Windows 64位)的安装。

一旦找到它就很容易修复,但出现的错误信息不具有描述性,所以在这种情况下我起初并没有注意到我做错了什么。

答案 3 :(得分:9)

这些答案都没有帮助我,最后我通过在安装之前创建文件夹(C:\ PostgreSQL \ data)并为组提供完全访问权来解决了这个问题"用户"。

Windows 7 x64,postgresql-9.5.2-1-windows-x64

答案 4 :(得分:4)

使用从PostgreSQL Windows download page链接的EnterpriseDB安装程序在W2K12R2上安装时,我遇到了同样的错误("无法将SQL模块加载到数据库集群中。")。我尝试使用admin privs运行安装程序,并使用Jeff G提供的postgres-user解决方案,但都没有工作。最后,我尝试了第二个安装程序BigSQL,安装时没有问题。

答案 5 :(得分:3)

  • 将数据目录更改为postgres安装目录以外的其他目录

确保NETWORK SERVICE对该文件夹具有读/写权限,在我执行此操作之前,安装失败了。

答案 6 :(得分:3)

希望这是工作。

1。)卸载PostgreSQL

2。)删除postgres用户(如果仍然存在):

  

净用户postgres /删除

3。)使用可以记住的密码创建postgres用户:

  

网络用户/ add postgres

4。)将postgres用户添加到Administrators组:

  

net localgroup管理员postgres / add

5。)将postgres用户添加到“高级用户”组

  

net localgroup“高级用户” postgres / add

6。)以postgres用户身份运行命令窗口:

  

runas / user:postgres cmd.exe

7。)更改用户postgres并安装postgresql

8。)返回您的帐户,然后从Administrators组中删除postgres用户。

  

net localgroup管理员postgres / delete

答案 7 :(得分:1)

我在9.5中遇到了这个问题并且通过以下方式解决了这个问题:

  1. 使用默认数据文件夹进行安装。
  2. 确保我的新数据文件夹具有“NETWORK SERVICE”帐户的完全控制权限。
  3. 然后根据此说明更改默认的PGDATA文件夹:https://wiki.postgresql.org/wiki/Change_the_default_PGDATA_directory_on_Windows

答案 8 :(得分:0)

之前我遇到过同样的问题。我首先安装了Visual Studio C ++ Express解决了这个问题。

答案 9 :(得分:0)

我有与 @gomisha 相同的经历。无论哪个用户运行安装程序, @Jeff G 的解决方案都无效。

只要目标数据目录位于c:\users下的任何位置,安装数据库群集init就会失败。

我在创建c:\postgresql-data并确保postgres用户在“有效访问权限”中拥有full access后取得了成功。工具。

注意:我没有使用control userpasswords2来设置postgres用户;我通过传统的糟糕的Windows 10用户向导尝试让用户注册hotmail。我确实以postgres运行安装。

答案 10 :(得分:0)

我有同样的问题,并注意到一些Postgres .bat文件在文本编辑器中打开。文本编辑器在安装过程中打开文件并不常见,但我注意到这些批处理文件正在设置目录权限。然后我发现.bat文件默认设置为在文本编辑器(Notepad ++)中打开。我更改了.bat文件的默认程序,卸载了Postgres,重新运行了安装程序,它运行得很好。希望这会有所帮助。

答案 11 :(得分:0)

我在使用BigSQL Windows安装程序PostgreSQL-9.6.5-1-win64-bigsql.exe时遇到了这个问题 结果问题是我的系统路径太长了。从我的系统路径中删除一些不必要的垃圾,然后重新安装后,问题就消失了。

答案 12 :(得分:0)

安装PostgreSQL时,请勿在数据库的管理员密码中使用以下符号:%<>

Bug report and problem solution here

答案 13 :(得分:0)

我认为这会比上面的个人评论更好,但我没有所需的代表。我只花了几天时间,在Win 10 Creators上使用Postgre 10。我的答案&#34;是让Postgre将数据放在其默认安装文件夹而不是我的用户文件夹(它将自动备份)。

<强> 1。如果没有报告安装错误,就会发生此问题。在我第一次尝试时,我看到了:

Failed to load SQL modules into the database cluster.

但这似乎是由于:

Executing C:\Users\loren\AppData\Local\Temp\postgresql_installer_aee8e5a76f\vcredist_x64.exe /passive /norestart
Script exit code: 3010

    MSI (s) (AC:FC) [14:21:35:341]: Product: Microsoft Visual C++ 2013 x86 Minimum Runtime - 12.0.40660. 
Restart required. The installation or update for the product required a restart for all changes to take effect.  
The restart was deferred to a later time.

在其他Postgre安装失败后重启Windows 并没有让Postgre运行。

一旦VC到位,卸载并重新安装Postgre(仍在其用户文件夹中的数据)已完成且没有报告错误。但是,无论如何,每次试图访问它仍然会产生这样的结果:

C:\Program Files\PostgreSQL\10\bin>psql
psql: could not connect to server: Connection refused (0x0000274D/10061)
        Is the server running on host "localhost" (::1) and accepting
        TCP/IP connections on port 5432?
could not connect to server: Connection refused (0x0000274D/10061)
        Is the server running on host "localhost" (127.0.0.1) and accepting
        TCP/IP connections on port 5432?

RawCap嗅探器在每次尝试时都显示TCP SYN,紧接着是本地主机上的RST,ACK用于v4和v6。 Netstat根本没有看到5432端口正在使用中。所有Postgre运行时日志都是空的。在Windows服务中,我可以手动启动postgresql-x64-10服务,但它会立即自行停止,并注意到某些服务通常会这样做。

<强> 2。我尝试通过Postgre维基程序移动数据目录。显然对于Postgre 10来说,它是不完整的。它不涉及:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-x64-10\Data Directory
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Services\postgresql-x64-10\Data Directory
C:\Program Files\PostgreSQL\10\pg_env.bat
C:\Program Files\PostgreSQL\10\scripts\serverctl.vbs

但修复我能找到的每个数据文件实例并没有让它运行。即使在修复了所有这些内容,并使用默认位置再次卸载并重新安装之后,新的pgAdmin4仍然会记住我原来的用户数据目录位置!

第3。我没有尝试在我的用户文件夹上提供NETWORK SERVICE读/写权限。一旦默认安装工作,我想继续我的原始项目...也许这会有效。

答案 14 :(得分:0)

答案之一是 here 是唯一在我的机器上工作的:

<块引用>

我在尝试安装 9.2.4 时遇到了相同的错误消息。我的问题 是因为即使 Win2k8 服务器有 %SYSTEMROOT%\system32 作为 路径的一部分,没有程序可以“看到”其中的任何内容 C:\Windows\system32。安装程序在安装过程中大量使用 icacls.exe 初始化例程。由于我的路径被搞砸了,安装程序被炸毁了。

一旦我明确地将 C:\Windows\system32 添加到系统路径 环境变量并以管理员身份重新运行安装程序,一切 工作正常。

感谢 user