企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 34.7\. `character_sets` 视图`character_sets`标识在当前数据库中可用的字符集。 因为PostgreSQL不支持在一个数据库中有多个字符集,所以这个视图只能显示一个, 也就是数据库编码。 请注意下列条目在SQL标准中是怎样使用的: 字符指令系统 一个概要的字符集合,例如`UNICODE`, `UCS`, 或`LATIN1`。不是作为一个SQL对象公开的,但是在这个视图中可见。 字符编码形式 一些字符指令系统的编码。大多数老旧的字符指令系统只使用一种编码形式,并且因此他们没有单独的名字 (例如`LATIN1`是一种适用于`LATIN1`指令系统的编码形式)。 但是例如Unicode有编码形式`UTF8`, `UTF16`等等。 (不是所有都被PostgreSQL支持)。编码形式不是作为SQL对象公开的,但是在这个视图中可见。 字符集 一个标志字符指令系统的命名的SQL对象,一种字符编码,和一个缺省的排序规则。 一个预定义的字符集通常和编码形式有相同的名称,但是用户可以定义其他名称。 例如,字符集`UTF8`通常识别字符指令系统`UCS`, 编码形式`UTF8`和一些缺省的排序规则。 你可以认为PostgreSQL中的一个"encoding"是一个字符集或一种字符编码形式。 他们将有相同的名称,并且在一个数据库中只能有一个。 **Table 34-5\. `character_sets` 字段** | 名字 | 数据类型 | 描述 | | --- | --- | --- | | `character_set_catalog` | `sql_identifier` | 字符集当前还没有作为模式对象实现,所以这个字段是null。 | | `character_set_schema` | `sql_identifier` | 字符集当前还没有作为模式对象实现,所以这个字段是null。 | | `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` 当前数据库设置的规则。如果没有这种规则,那么这个字段和相关的模式和目录字段为null。 |