# 37.7.字符集

风景字符集标识当前数据库中可用的字符集。由于 PostgreSQL 不支持一个数据库中的多个字符集,因此该视图仅显示一个,即数据库编码。

请注意 SQL 标准中如何使用以下术语:

角色曲目

一个抽象的字符集合,例如统一码,统一通信系统, 或者拉丁语1.不作为 SQL 对象公开,但在此视图中可见。

字符编码形式

一些字符库的编码。大多数较旧的字符库仅使用一种编码形式,因此它们没有单独的名称(例如,拉丁语1是一种适用于拉丁语1曲目)。但例如 Unicode 有编码形式UTF8,UTF16等(PostgreSQL 并不全部支持)。编码表单不作为 SQL 对象公开,但在此视图中可见。

字符集

一个命名的 SQL 对象,用于标识字符库、字符编码和默认排序规则。预定义的字符集通常与编码形式具有相同的名称,但用户可以定义其他名称。例如,字符集UTF8通常会识别角色曲目统一通信系统, 编码形式UTF8,以及一些默认排序规则。

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

表 37.5.字符集

列类型

描述
字符集目录 sql_identifier

字符集当前未实现为模式对象,因此该列为空。
character_set_schema sql_identifier

字符集当前未实现为模式对象,因此该列为空。
字符集名称 sql_identifier

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

角色剧目,展示统一通信系统如果编码是UTF8, 否则只是编码名称
使用形式 sql_identifier

字符编码形式,与数据库编码相同
default_collat​​e_catalog sql_identifier

包含默认排序规则的数据库的名称(始终是当前数据库,如果标识了任何排序规则)
default_collat​​e_schema sql_identifier

包含默认排序规则的架构名称
default_collat​​e_name sql_identifier

默认排序规则的名称。默认排序规则被标识为与整理CTYPE当前数据库的设置。如果没有这样的排序规则,则此列以及关联的架构和目录列为空。