mar*_*osh 8 postgresql windows
我全新安装了 PostgreSQL 9.1.x。不幸的是,我发现操作系统不支持LC_COLLATE = 'pl_PL.utf8'和LC_CTYPE = 'pl_PL.utf8'. 我在 PostgreSQL 文档中读到:
在所有平台上,都可以使用名为 default、C 和 POSIX 的归类。根据操作系统支持,可能会提供其他排序规则。
然而,是一种强制 Windows 支持该语言环境的方法吗?我的意思是补丁、插件或其他东西。
在 Windows 上,可能已经安装了所需的语言环境,只是命名与Unix不同。
例如,以下数据库创建似乎对我在 Windows XP 上使用 PG9.1 运行良好,使用其默认语言环境French_France.1252并且没有安装我记得的其他语言包。
CREATE DATABASE pldb
ENCODING = 'UTF8'
LC_COLLATE = 'Polish'
LC_CTYPE = 'Polish'
TEMPLATE=template0;
Run Code Online (Sandbox Code Playgroud)
此外,通过在这个新创建的数据库中以 UTF8 格式提交此查询来快速测试排序顺序:
select * from (values ('z'), ('?'), ('?'), ('s'), ('?'), ('x'), ('y')) as letters order by 1;
Run Code Online (Sandbox Code Playgroud)
似乎输出正确的结果:
小号
?
X
Ÿ
ž
?
?
据我所知,您不能强制 Windows 版本的 PostgreSQL 支持 Windows 不提供的区域设置和排序规则。PostgreSQL 使用系统区域设置和排序规则支持。如果系统不支持,则无法使用。有时这是一个令人沮丧的限制,但事实就是如此。您需要选择 Windows 安装支持的合适编码和排序规则。
如果您想为操作系统排序规则名称添加别名并调用它,pl_PL.utf8您可以使用CREATE COLLATION.
请参阅字符集支持、排序规则支持和pg_collation目录表。
你想用这个解决什么问题?
| 归档时间: |
|
| 查看次数: |
6895 次 |
| 最近记录: |