【postgreSQL】 安装问题: Failed to load sql modules into the database cluster

在安装 postgreSQL 的过程中,一开始由于账户用户名为中文,导致无法安装(安装路径中有中文也会发生此问题),后又在即将安装成功时提示

Failed to load sql modules into the database cluster

我用的是 12.9。

心态崩了,从昨天下午一直找到今天下午。网上的教程中,核心是安装文件夹的权限问题(主要是其下安装时生成的 data 的权限问题)。但是对于我这台电脑而言(不知道什么原因),即使给了安装目录“完全控制”的权限,在安装时也会发现:目录的读写权限都没了!哪怕用的是 administrator 账户也无济于事。根据网上杂七杂八的教程与自己一番摸索,终于解决了安装问题。

  1. 创建一个本地管理员账户,名字可以是 postgres,因为数据库默认的名字也是这个。当然也可以自己指定,安装软件的账户名称将作为数据库的用户名。我取的名字是 postgreSQL

  2. 用 posgreSQL cmd 安装软件

    1. 在当前账户点击运行 cmd

    2. 在 cmd 中输入 runas /user:postgreSQL cmd.exe 并回车

在这里插入图片描述

  1. 在新打开的 cmd 中用 cd 命令跳转至软件的目录下(我运行了两次,实际只需一次,我是取消了再运行的)

在这里插入图片描述

  1. 安装软件

在这里插入图片描述

此时,软件报错

Failed to load sql modules into the database cluster

在这里插入图片描述

不管它,点击ok,等待安装完成。

安装完成后点击完成,然后点击取消(如果不想要安装第三方软件包)。

接下来,检查安装目录下的 data 文件夹的权限

先双击文件夹以访问其内容,然后回到上一级目录,在 data 文件夹右键,属性→安全

在这里插入图片描述

我已经为我的账户提供了完全控制权限。如果您的“组或用户名”列表中无此内容,可以点击“编辑”→“添加”→在“输入对象名称”一栏输入账户名称(我的是 postgreSQL)。输入后点击“确定”。如果提示找不到该对象,请确认已经输入了正确的用户名

在这里插入图片描述

然后,

  1. 清空 data 文件夹下的所有内容;

  2. 将先前的 postgreSQL cmd 路径到 …\bin\ 文件夹下。…\bin 根据不同人的安装路径不同而不同,我的是 C:\Program Files\PostgreSQL\12\bin

在这里插入图片描述

  1. 在 cmd 中输入命令 pg_ctl start -D ..\data\ initdb

在这里插入图片描述

  1. 接着执行(注意不能有中文) ^"C^:^\Program^ Files^\PostgreSQL^\12^\bin^\pg^_ctl^" -D ../data -l logfile start

  2. 此时可能提示

等待服务器进程启动 ....拒绝访问。
 已停止等待
pg_ctl: 无法启动服务器进程
检查日志输出.

在 postgreSQL cmd 中输入 pg_ctl.exe start -D ..\data 即可

等待服务器进程启动 ....2022-01-14 16:14:06.794 CST [7380] 日志:  正在启动 PostgreSQL 12.9, compiled by Visual C++ build 1914, 64-bit
2022-01-14 16:14:06.817 CST [7380] 日志:  正在监听IPv6地址"::1",端口 5432
2022-01-14 16:14:06.818 CST [7380] 日志:  正在监听IPv4地址"127.0.0.1",端口 5432
2022-01-14 16:14:06.989 CST [21856] 日志:  数据库上次关闭时间为 2022-01-14 16:09:35 CST
2022-01-14 16:14:07.103 CST [7380] 日志:  数据库系统准备接受连接
 完成
服务器进程已经启动

如果还失败,请检查 data 文件夹权限。

打开 SQL shell,一切正常

在这里插入图片描述

如果还失败,请检查 data 文件夹权限。

打开 SQL shell,一切正常

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
引用\[1\]中提到,如果重启服务出现错误"Failed to restart postgresql.service: Unit not found.",可以尝试运行以下命令来解决问题: 1. 运行命令:sudo systemctl restart postgresql 这个命令会尝试重启PostgreSQL服务。 引用\[3\]中提到,如果异常操作导致一些进程状态不对,也可能导致"Failed to restart postgresql.service: Unit not found."的错误。在这种情况下,你可以尝试以下步骤: 1. 进入postgresql\data目录。 2. 运行命令:pg_resetxlog 这个命令会清空数据并重置日志文件。 3. 如果问题仍然存在,你可以手动杀掉所有的pg进程。但是在进行这个操作之前,请确保你已经做好了数据保护的工作。 希望这些方法能够帮助你解决"Failed to restart postgresql.service: Unit not found."的问题。 #### 引用[.reference_title] - *1* [linux 在线安装postgresql](https://blog.csdn.net/weixin_43632687/article/details/103186810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Redirecting to /bin/systemctl restart mysql.service Failed to restart mysql.service: Unit](https://blog.csdn.net/qq_40597668/article/details/124591439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Postgresql数据库报错Failed to restart postgresql-9.2.24.service: Unit not found.](https://blog.csdn.net/mqingo/article/details/86496536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂杀傲骨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值