↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1
历史版本。 PostgreSQL 9.6 已结束支持。 2021-11-11. 请参阅 当前版本手册.

35.7. character_sets #

视图character_sets标识当前数据库中可用的字符集。因为 PostgreSQL 不支持在同一个数据库中有多个字符集,这个视图只显示一个字符集,它就是数据库编码。

请注意 SQL 标准中以下术语的用法:

字符集合

抽象的字符集合,例如UNICODE、UCS或LATIN1。它不作为 SQL 对象公开,但可以在此视图中看到。

character encoding form

某个字符集合的编码方式。大多数较早的字符集合只使用一种编码形式,因此没有为两者分别命名(例如,LATIN1是适用于LATIN1字符集合的编码形式)。但 Unicode 就有UTF8、UTF16等编码形式(PostgreSQL 并非全部支持)。编码形式不作为 SQL 对象公开,但可以在此视图中看到。

character set

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

在 PostgreSQL 中,可以把“编码”视为字符集,也可以视为字符编码形式。它们具有相同的名称,并且一个数据库中只能有一个。

表 35.5. character_sets 列

名称数据类型 描述
character_set_catalogsql_identifier 当前字符集并未被实现为模式对象,因此这一列为空。
character_set_schemasql_identifier 当前字符集并未被实现为模式对象,因此这一列为空。
character_set_namesql_identifier 该字符集的名字,当前实现为显示该数据库编码的名字
character_repertoiresql_identifier 字符集合;如果编码为UTF8则显示UCS,否则仅显示编码名称
form_of_usesql_identifier 字符编码形式,与数据库编码相同
default_collate_catalogsql_identifier 包含该默认排序规则的数据库名(如果任意排序规则被标识,总是当前数据库)
default_collate_schemasql_identifier 包含该默认排序规则的模式名
default_collate_namesql_identifier 默认排序规则的名字。该默认排序规则被标识为匹配当前数据库的COLLATE和CTYPE设置的排序规则。如果没有这样的排序规则,则这一列以及相关的模式列和目录列都为空。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.