pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
CREATE COLLATION — define a new collation
CREATE COLLATIONname( [ LOCALE =locale, ] [ LC_COLLATE =lc_collate, ] [ LC_CTYPE =lc_ctype] ) CREATE COLLATIONnameFROMexisting_collation
CREATE COLLATION使用指定的操作系统区域设 置,或者通过复制现有排序规则,定义一个新的排序规则。
要创建排序规则,你必须拥有目标模式上的 CREATE权限。
name排序规则的名称。排序规则名称可以带有模式限定。如果没有,排序规则将在当前模式中定义。排序规则名称在该模式中必须唯一。(系统目录中可能包含其他编码的同名排序规则,但如果数据库编码不匹配,则这些排序规则将被忽略。)
locale这是同时设置 LC_COLLATE 和 LC_CTYPE 的快捷方式。如果指定了此选项,则不能指定这两个参数中的任何一个。
lc_collate为 LC_COLLATE 区域类别使用指定的操作系统区域设置。该区域设置必须适用于当前数据库编码。(有关精确规则,请参见CREATE DATABASE。)
lc_ctype为 LC_CTYPE 区域类别使用指定的操作系统区域设置。该区域设置必须适用于当前数据库编码。(有关精确规则,请参见CREATE DATABASE。)
existing_collation要复制的现有排序规则的名称。新的排序规则将具有与现有排序规则相同 的属性,但它是一个独立对象。
创建排序规则,使用操作系统区域设置fr_FR.utf8(假设当前数据库编码为UTF8):
CREATE COLLATION french (LOCALE = 'fr_FR.utf8');
从现有排序规则创建排序规则:
CREATE COLLATION german FROM "de_DE";
这在应用程序中使用与操作系统无关的排序规则名称时非常方便。
在 SQL 标准中有一个CREATE COLLATION 语句,但它仅限于复制现有排序规则。创建新排序规则的语法是 PostgreSQL扩展。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。