Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Определяет новую коллацию.
CREATE COLLATION [ IF NOT EXISTS ] <name> (
[ LOCALE = <locale>, ]
[ LC_COLLATE = <lc_collate>, ]
[ LC_CTYPE = <lc_ctype>, ]
[ PROVIDER = <provider>, ]
[ DETERMINISTIC = <boolean>, ]
[ VERSION = <version> ])
CREATE COLLATION [ IF NOT EXISTS ] <name> FROM <existing_collation>
Команда CREATE COLLATION определяет новую коллацию с использованием указанных параметров локали операционной системы или путём копирования существующей коллации.
Чтобы иметь возможность создавать коллацию, необходимо обладать привилегией CREATE на целевую схему.
Команда CREATE COLLATION устанавливает блокировку SHARE ROW EXCLUSIVE на системный каталог pg_collation, которая конфликтует сама с собой, поэтому одновременно может выполняться только одна команда CREATE COLLATION.
Для удаления пользовательских коллаций используйте команду DROP COLLATION.
Более подробную информацию о поддержке коллаций в Database см. в разделе Collation Support документации PostgreSQL.
При использовании поставщика libc коллации, локаль должна соответствовать текущей кодировке базы данных. Точные правила см. в команде CREATE DATABASE.
Создание коллации на основе локали операционной системы fr_FR.utf8 (предполагается, что кодировка текущей базы данных — UTF8):
CREATE COLLATION french (LOCALE = 'fr_FR.utf8');
Создание коллации с использованием поставщика icu и порядка сортировки немецкого телефонного справочника:
CREATE COLLATION german_phonebook (provider = icu, locale = 'de-u-co-phonebk');
Создание коллации на основе существующей:
CREATE COLLATION german FROM "de_DE";
Это может быть удобно для использования в приложениях имён коллаций, независимых от операционной системы.
В стандарте SQL существует оператор CREATE COLLATION, но он ограничен копированием существующей коллации. Синтаксис создания новой коллации является расширением Database.