36.7. character_sets

Представление character_sets описывает наборы символов, доступные в текущей базе данных. Так как PostgreSQL не поддерживает несколько наборов символов в одной базе данных, этот набор показывает только один набор, соответствующий кодировке базы.

Примите к сведению следующие термины, принятые в стандарте SQL:

совокупность символов

Абстрактная коллекция символов, например UNICODE, UCS или LATIN1. Не существует в виде SQL-объекта, но показывается в этом представлении.

форма кодировки символов

Кодировка некоторой совокупности символов. Для большинства устаревших совокупностей используется только одна кодировка, так что эта кодировка не имеет отдельного имени (например, LATIN1 — форма кодировки, применимая к совокупности LATIN1). Но например, Unicode имеет формы кодировки UTF8, UTF16 и т. д. (не все они поддерживаются в PostgreSQL). Формы кодировки не существуют в виде SQL-объектов, но показываются в этом представлении.

набор символов

Именованный SQL-объект, определяющий совокупность и кодировку символов, а также правило сортировки по умолчанию. Предопределённый набор символов обычно называется так же, как форма кодировки, но пользователи могут определить другие имена. Например, набору символов UTF8 обычно соответствует совокупность символов UCS, форма кодировки UTF8 и некоторое правило сортировки по умолчанию.

Вы можете считать, что «кодировка» в PostgreSQL определяет набор или форму кодировки символов. Она имеет такое же имя и может быть только одной в определённой базе.

Таблица 36.5. Столбцы character_sets

ИмяТип данныхОписание
character_set_catalogsql_identifierНаборы символов в настоящее время не представлены в виде объектов схемы, так что этот столбец содержит NULL.
character_set_schemasql_identifierНаборы символов в настоящее время не представлены в виде объектов схемы, так что этот столбец содержит NULL.
character_set_namesql_identifierИмя набора символов, в настоящее время в качестве этого имени показывается имя кодировки базы данных
character_repertoiresql_identifierСовокупность символов — UCS для кодировки UTF8, либо просто имя кодировки
form_of_usesql_identifierФорма кодировки символов, то же, что и кодировка базы данных
default_collate_catalogsql_identifierИмя базы данных, содержащей правило сортировки по умолчанию (всегда текущая база, если это правило установлено)
default_collate_schemasql_identifierИмя схемы, содержащей правило сортировки по умолчанию
default_collate_namesql_identifierИмя правила сортировки по умолчанию. Правилом сортировки по умолчанию считается правило, соответствующее параметрам COLLATE и CTYPE текущей базы данных. Если такого правила нет, данный столбец и связанные столбцы схемы и каталога содержат NULL.