我从戴尔(XPS 15)那里购买了带有Windows 10 Pro的新笔记本电脑。 我在安装postgres时始终遇到相同的问题“运行安装后步骤时出现问题。安装可能无法正确完成。数据库集群初始化失败。”
我尝试了很多有关过去线程的解决方案: 不将postgres安装到progam文件中 创建一个名为postgres的用户,该用户具有对postgress目录的完全访问权限,这里https://www.youtube.com/watch?v=pS_zWDDDSe0进行了说明 检查新的胜利更新 关闭Windows的防火墙和防病毒软件。
运行cscript时出错// NoLogo“ C:\ develop \ postgres / installer / server / initcluster.vbs”“ NT AUTHORITY \ NetworkService”“ postgres”“ ****”“ C:\ develop \ postgres”“ C :\ develop \ postgres \ data“ 5432” DEFAULT“ 0:程序以错误退出代码结束 运行安装后步骤时出现问题。安装可能无法正确完成 数据库集群初始化失败。 [14:03:49]删除临时脚本目录... 创建菜单快捷方式... 执行cscript // NoLogo“ C:\ develop \ postgres \ installer \ server \ createshortcuts_clt.vbs”“ PostgreSQL 11”“ C:\ develop \ postgres” 脚本退出代码:0
编辑错误日志
Executing batch file 'radAD31B.bat'...
The program "postgres" was found by "C:/develop/postgres/bin/initdb.exe" but was not the same version as initdb.
答案 0 :(得分:7)
我已经为此苦苦挣扎了好几个小时,所以我将其发布给其他任何想在这里来的人。
最初,我只能找到pgsql-bugs
邮件列表中的两个错误报告:
BUG #15856: The program "postgres" was found by "initdb" but was not the same version as initdb.
BUG #15970: Db initialization error - initdb.exe and postgres not same version
具体症状是:
The program "postgres" was found by ".../initdb.exe" but was not the same version as initdb.
尽管版本匹配,但您会得到:
C:\Program Files\PostgreSQL\11\bin>postgres -V
WARNING: 01000: could not determine encoding for locale
"<some encoding>.utf8": codeset is "CPutf8"
如果这些是您的症状,则问题在于您已将地区/语言设置设置为使用UTF-8(测试版设置)。这会导致很多程序出现问题,而PostgreSQL是其中之一。禁用它并重新安装,就可以了。
答案 1 :(得分:3)
请按照以下步骤操作以避免出现此错误
答案 2 :(得分:1)
postgres 12遇到了这个问题,我的解决方法与Atif相似,但是使用了命令行:
卸载PostgreSQL
删除postgres用户(如果仍然存在):
净用户postgres /删除
使用您可以记住的密码创建postgres用户:
网络用户/ add postgres [密码]
将postgres用户添加到Administrators组:
net localgroup管理员postgres / add
跳过此组作为组在Win 10和默认用户上不再存在 应该具有必要的权限-将postgres用户添加到 超级用户组
以postgres用户身份运行命令窗口:(打开新命令 窗口):
runas / user:postgres cmd.exe
将安装文件复制到该用户可访问的位置并运行 例如:
C:\ Download \ postgresql-12.4-1-windows-x64.exe
从Administrators组中删除postgres用户:
net localgroup管理员postgres / delete
就是这样。 希望这有用
答案 3 :(得分:0)
我已经查看了可用的解决方案,但没有一个适合我,因此我只是在Windows 10桌面上创建了一个新用户,并在那里进行安装,便能够成功完成。
答案 4 :(得分:0)
如果您曾经更改过注册表中的命令行代码编码参数
<块引用>HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun
到 chcp 65001、chcp 1251 或任何其他,那么这可能是问题所在。
将命令行编码注册表值的值返回到默认值(空)解决了我的问题。
尝试将您的注册表值更改为空:
<块引用>HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun