CREATE COLLATION

创建排序-定义新的排序规则

Synopsis

CREATE COLLATION [ IF NOT EXISTS ] name (
    [ LOCALE = locale, ]
    [ LC_COLLATE = lc_collate, ]
    [ LC_CTYPE = lc_ctype, ]
    [ PROVIDER = provider, ]
    [ VERSION = version ]
)
CREATE COLLATION [ IF NOT EXISTS ] name FROM existing_collation

Description

CREATE COLLATION使用指定的 os 区域设置或通过复制现有的排序规则来定义新的排序规则。

为了能够创建排序规则,您必须在目标架构上具有CREATE特权。

Parameters

有关如何处理归类版本不匹配的信息,另请参见ALTER COLLATION

Notes

使用DROP COLLATION删除用户定义的归类。

有关如何创建归类的更多信息,请参见Section 23.2.2.3

使用libc归类提供程序时,语言环境必须适用于当前数据库编码。具体规则请参见CREATE DATABASE

Examples

要从 os 区域设置fr_FR.utf8创建排序规则(假设当前数据库编码为UTF8):

CREATE COLLATION french (locale = 'fr_FR.utf8');

要使用德语电话簿排序 Sequences 使用 ICU 提供程序创建归类,请执行以下操作:

CREATE COLLATION german_phonebook (provider = icu, locale = 'de-u-co-phonebk');

要从现有归类中创建归类:

CREATE COLLATION german FROM "de_DE";

能够在应用程序中使用独立于 os 的排序规则名称可能很方便。

Compatibility

SQL 标准中有一个CREATE COLLATION语句,但仅限于复制现有的排序规则。创建新排序规则的语法是 PostgreSQL 扩展。

See Also

ALTER COLLATION, DROP COLLATION

上一章 首页 下一章