微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgres 安装错误 post-bootstrap 致命:字节序列无效

如何解决postgres 安装错误 post-bootstrap 致命:字节序列无效

我正在尝试安装 Postgres 13(Windows 版本),但总是遇到相同的错误(部分为西班牙语):

realizando inicializaci¢n post-bootstrap ... 2021-04-30 12:10:54.935 CEST [1224] 致命:编码“UTF8”的无效字节序列:0xbf el proceso hijo termin¢ con c¢ digo de salida 1 initdb: eliminando el contenido del Directorio ®C:/Postgresql13/data¯

Called Die(无法使用 initdb 初始化数据库集群)... 使用 initdb 初始化数据库集群失败

脚本标准错误: 程序以错误退出代码结束

Error al ejecutar C:\WINDOWS\System32\cscript //Nologo "C:\Postgresql13/installer/server/initcluster.vbs" "NT AUTHORITY\NetworkService" "postgres" "****" "C:\ Users\user1\AppData\Local\Temp/postgresql_installer_b86f3c1062" "C:\Postgresql13" "C:\Postgresql13\data" 5432 "English,UnitedStates" 0 :程序以错误退出代码结束 问题 al ejecutar el paso post instalación。 La instalación no pudo finalizar Correctamente La inicialización del clúster de la base de datos falló.

用户 user1 具有管理员权限。我也尝试安装版本 12 而不是 13,但结果是一样的。

有什么建议吗?

解决方法

这很可能是因为数据库超级用户名包含非 ASCII 字符。

我不知道你是如何安装 PostgreSQL 的,但是当你运行 initdb 来创建一个数据目录(它与你的消息中的“initcluster”脚本相匹配)时,这可能会发生。

如果您不使用 -Uinitdb 选项指定超级用户名(习惯上使用 nae postgres),initdb 将命名超级用户就像您当前的操作系统用户。如果您使用的是 Windows,则该名称将使用 Windows-1252 之类的 Windows 编码进行编码。现在数据库不知道这一点,当它创建数据库用户时,它使用该用户名的字节。如果这不是正确编码的 UTF-8(如果它包含非 ASCII 字符则不会),则会导致此错误。

我的建议是,您使用名称中包含所有 ASCII 字符的操作系统用户登录 Windows,然后重试。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。