在具有区域设置的 Windows 上安装 postgres

在具有区域设置的 Windows 上安装 postgres

免责声明:由于这应该是一个标准操作,我觉得我这边一定出了什么严重问题。

postgresql我正在尝试在 Windows 7 1上使用。来自 edb 的安装程序工作正常,除了一个明显八年多前的问题,其中语言环境名称不匹配(我的直觉告诉我 Windows 正在报告不一致的内容,就像它经常做的那样)。当我选择English, United Kingdom语言环境时,它会失败,并转到English_United States.1252

由于在创建数据库集群后这是不可改变的,因此我将其删除,并尝试在同一文件夹中重新创建它,从而修复语言环境名称问题:

initdb --locale="English_United Kingdom" --lc-monetary="English_United States" -E UTF8 -U postgres -W -A scram-sha-256 -D "C:\Program Files\PostgreSQL\13\data"

现在initdb感觉没有逃生舱的安全性是一件好事,它放弃了开始时的权限,然后显然无法在任何地方写入C:\Program Files,即使最初以管理员身份启动。

创建目录 C:/Program Files/PostgreSQL/13/data ... initdb:错误:无法创建目录“C:/Program Files/PostgreSQL/13/data”:权限被拒绝

我如何才能重现安装程序所做的操作,只需使用正确的语言环境?我注意到我可以创建文件夹data并向每个用户授予完全权限,然后就initdb可以工作了,但最终的权限看起来与安装程序生成的权限完全不同(例如,关于服务用户NETWORK SERVICE)。


编辑:安装程序getlocales.exe在启动时执行,因此注入不同的文件很困难。INITDBOPTS环境变量的优先级低于安装程序设置,因此在这里没用。


1:是的,我知道 Windows 7 已经 EOL 了...,但是postgresql已经有 30 年的历史了,所以这真的不重要。

相关内容