【postgreSQL】 安装问题: Failed to load sql modules into the database cluster
在安装 postgreSQL 的过程中,一开始由于账户用户名为中文,导致无法安装(安装路径中有中文也会发生此问题),后又在即将安装成功时提示Failed to load sql modules into the database cluster我用的是 12.9。心态崩了,从昨天下午一直找到今天下午。网上的教程中,核心是安装文件夹的权限问题(主要是其下安装时生成的 data 的权限问题)。但是对于
在安装 postgreSQL 的过程中,一开始由于账户用户名为中文,导致无法安装(安装路径中有中文也会发生此问题),后又在即将安装成功时提示
Failed to load sql modules into the database cluster
我用的是 12.9。
心态崩了,从昨天下午一直找到今天下午。网上的教程中,核心是安装文件夹的权限问题(主要是其下安装时生成的 data 的权限问题)。但是对于我这台电脑而言(不知道什么原因),即使给了安装目录“完全控制”的权限,在安装时也会发现:目录的读写权限都没了!哪怕用的是 administrator 账户也无济于事。根据网上杂七杂八的教程与自己一番摸索,终于解决了安装问题。
-
创建一个本地管理员账户,名字可以是 postgres,因为数据库默认的名字也是这个。当然也可以自己指定,安装软件的账户名称将作为数据库的用户名。我取的名字是 postgreSQL
-
用 posgreSQL cmd 安装软件
-
在当前账户点击运行 cmd
-
在 cmd 中输入
runas /user:postgreSQL cmd.exe
并回车
-
- 在新打开的 cmd 中用 cd 命令跳转至软件的目录下(我运行了两次,实际只需一次,我是取消了再运行的)
- 安装软件
此时,软件报错
Failed to load sql modules into the database cluster
不管它,点击ok,等待安装完成。
安装完成后点击完成,然后点击取消(如果不想要安装第三方软件包)。
接下来,检查安装目录下的 data 文件夹的权限
先双击文件夹以访问其内容,然后回到上一级目录,在 data 文件夹右键,属性→安全
我已经为我的账户提供了完全控制权限。如果您的“组或用户名”列表中无此内容,可以点击“编辑”→“添加”→在“输入对象名称”一栏输入账户名称(我的是 postgreSQL)。输入后点击“确定”。如果提示找不到该对象,请确认已经输入了正确的用户名
然后,
-
清空 data 文件夹下的所有内容;
-
将先前的 postgreSQL cmd 路径到 …\bin\ 文件夹下。…\bin 根据不同人的安装路径不同而不同,我的是
C:\Program Files\PostgreSQL\12\bin
- 在 cmd 中输入命令
pg_ctl start -D ..\data\ initdb
-
接着执行(注意不能有中文)
^"C^:^\Program^ Files^\PostgreSQL^\12^\bin^\pg^_ctl^" -D ../data -l logfile start
-
此时可能提示
等待服务器进程启动 ....拒绝访问。
已停止等待
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,一切正常
更多推荐
所有评论(0)