Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
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.