PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

23.2. 排序规则(Collation)支持 #

23.2.1. 排序规则概念
23.2.2. 管理排序规则
23.2.3. ICU 定制排序规则与高级选项

23.2.1. 排序规则概念 #

排序规则决定字符串的比较与排序行为。

23.2.2. 管理排序规则 #

系统目录中预定义了大量的排序规则对象。

23.2.2.1. 标准排序规则 #

系统默认提供的标准 collation。

23.2.2.2. 预定义排序规则 #

基于系统环境自动扫描生成的预置 collation。

23.2.2.2.1. libc 预定义规则 #

基于操作系统 C 运行库。

23.2.2.2.2. ICU 预定义规则 #

基于 ICU 库自动生成的规则(如 und-x-icu、de-x-icu、de-AT-x-icu 等)。

23.2.2.3. 创建新的排序规则 #

通过 CREATE COLLATION 命令自定义排序规则。

23.2.2.3.1. 创建 libc 排序规则 #

指定 lc_collate 与 lc_ctype。

23.2.2.3.2. 创建 ICU 排序规则 #

指定 locale 标签(如 en-u-kf-upper、en-u-kr-grek-latn、en-u-kf-upper-kr-grek-latn、de-u-co-phonebk-x-icu、und-u-co-emoji-x-icu)。

23.2.2.3.3. 复制既有排序规则 #

基于现有 collation 派生复制。

23.2.2.4. 非确定性排序规则 #

允许定义忽略大小写(case-insensitive)或忽略重音符号的非确定性排序规则。

23.2.3. ICU 定制排序规则与高级选项 #

支持精细定制 ICU 比较策略。

23.2.3.1. ICU 比较级别 #

Table 23.1. ICU 比较级别说明

级别说明
primary仅比较基础字符

23.2.3.1.1. 比较级别示例 #

忽略大小写与重音的高级比对范例。

23.2.3.2. ICU 排序设置 #

Table 23.2. ICU 排序设置选项表

选项说明
caseFirst大写优先或小写优先

23.2.3.3. ICU 区域示例 #

典型 BCP 47 语言标签实战示例。

23.2.3.4. ICU 裁剪定制规则 #

自定义规则语法说明。

23.2.3.5. ICU 外部参考资源 #

Unicode 联盟与 ICU 官方文档链接。