PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

35.7. character_sets #

视图 character_sets 标识当前数据库中可用的 字符集。 由于 PostgreSQL 在一个数据库中不支持多个字符集, 这个视图只显示一个,即数据库编码。

Take note of how the following terms are used in the SQL standard:

character repertoire

字符的一个抽象集合, 例如 UNICODE、 UCS 或 LATIN1。 它不作为 SQL 对象暴露,但在这个视图中可见。

character encoding form

某个字符库的一种编码。 大多数较老的字符库只使用一种编码形式, 因此它们没有单独的名称 (例如 LATIN2 是适用于 LATIN2 字符库的一种编码形式)。 但例如 Unicode 有编码形式 UTF8、 UTF16 等 (PostgreSQL 并不全部支持)。 编码形式不作为 SQL 对象暴露,但在这个视图中 可见。

character set

标识一个字符库、一种字符编码和一个默认排序规则的具名 SQL 对象。 预定义的字符集通常与一种编码形式同名, 但用户可以定义其他名称。 例如,字符集 UTF8 通常标识字符库 UCS、编码形式 UTF8 以及某种默认排序规则。

You can think of an “encoding” in PostgreSQL either as a character set or a character encoding form. They will have the same name, and there can only be one in one database.

Table 35.5. \1 字段列说明

Column Type

Description

character_set_catalog sql_identifier

字符集目前没有被实现为模式对象,因此该列为空。

character_set_schema sql_identifier

字符集目前没有被实现为模式对象,因此该列为空。

character_set_name sql_identifier

字符集的名称,目前的实现是显示数据库编码的名称

character_repertoire sql_identifier

字符库:如果编码是 UTF8 则显示 UCS,否则只显示编码名称

form_of_use sql_identifier

字符编码形式,与数据库编码相同

default_collate_catalog sql_identifier

包含默认排序规则的数据库的名称 (如果标识了某个排序规则,则总是当前数据库)

default_collate_schema sql_identifier

包含默认排序规则的模式的名字

default_collate_name sql_identifier

默认排序规则的名称。 默认排序规则被标识为与当前数据库的 COLLATE 和 CTYPE 设置相匹配的排序规则。 如果不存在这样的排序规则, 此列以及关联的模式和目录列为空。