CREATE COLLATION

CREATE COLLATION — создать правило сортировки

Синтаксис

CREATE COLLATION имя (
    [ LOCALE = локаль, ]
    [ LC_COLLATE = категория_сортировки, ]
    [ LC_CTYPE = категория_типов_символов ]
)
CREATE COLLATION имя FROM существующее_правило

Описание

CREATE COLLATION определяет новое правило сортировки, используя параметры локали операционной системы, либо копируя существующее правило.

Чтобы создать правило сортировки, необходимо иметь право CREATE в целевой схеме.

Параметры

имя

Имя правила сортировки, возможно, дополненное схемой. Если схема не указана, правило сортировки создаётся в текущей схеме. Заданное имя правила должно быть уникальным в этой схеме. (Системные каталоги могут содержать правила сортировки с одним именем, но предназначенные для разных кодировок, однако они будут игнорироваться, если их кодировка не совпадает с кодировкой базы данных.)

локаль

Это краткая запись для одновременной установки LC_COLLATE и LC_CTYPE. Если указан этот вариант, задать любой из этих параметров отдельно нельзя.

категория_сортировки

Указанная локаль операционной системы устанавливается в качестве категории локали LC_COLLATE. Эта локаль должна быть применимой к кодировке текущей базы данных. (Точные правила описаны в CREATE DATABASE.)

категория_типов_символов

Указанная локаль операционной системы устанавливается в качестве категории локали LC_CTYPE. Эта локаль должна быть применимой к кодировке текущей базы данных. (Точные правила описаны в CREATE DATABASE.)

существующее_правило

Имя копируемого существующего правила сортировки. Новое правило сортировки получит те же свойства, что и существующее, но будет независимым объектом.

Замечания

Для удаления созданных пользователем правил сортировки применяется команда DROP COLLATION.

Дополнительные сведения о поддержке правил сортировки можно найти в Разделе 23.2.

Примеры

Создание правила сортировки из локали операционной системы fr_FR.utf8 (предполагается, что кодировка текущей базы данных — UTF8):

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

Создание правила сортировки из уже существующего:

CREATE COLLATION german FROM "de_DE";

Иногда удобно использовать в приложениях имена правил сортировки, не зависящие от операционной системы.

Совместимость

Оператор CREATE COLLATION определён в стандарте SQL, но его действие ограничено копированием существующего правила сортировки. Синтаксис создания нового правила сортировки представляет собой расширение PostgreSQL.