35.7. character_sets #
视图 character_sets 标识当前数据库中可用的字符集。因为 PostgreSQL 不支持在同一个数据库中有多个字符集,这个视图只显示一个字符集,它就是数据库编码。
请注意 SQL 标准中以下术语的用法:
- 字符集合 #
抽象的字符集合,例如
UNICODE、UCS或LATIN1。它不作为 SQL 对象公开,但可以在此视图中看到。- 字符编码形式 #
某个字符集合的编码方式。大多数较早的字符集合只使用一种编码形式,因此没有为两者分别命名(例如,
LATIN2是适用于LATIN2字符集合的编码形式)。但 Unicode 就有UTF8、UTF16等编码形式(PostgreSQL 并非全部支持)。编码形式不作为 SQL 对象公开,但可以在此视图中看到。- 字符集 #
一个有名称的 SQL 对象,用来标识字符集合、字符编码和默认排序规则。预定义字符集通常与编码形式同名,但用户也可以定义其他名称。例如,字符集
UTF8通常标识字符集合UCS、编码形式UTF8以及某个默认排序规则。
在 PostgreSQL 中,可以把“编码”视为字符集,也可以视为字符编码形式。它们具有相同的名称,并且一个数据库中只能有一个。
表 35.5. character_sets 列
列类型 描述 |
|---|
字符集当前并未被实现为模式对象,因此这一列为 null。 |
字符集当前并未被实现为模式对象,因此这一列为 null。 |
该字符集的名字,当前实现为显示该数据库编码的名字 |
字符集合;如果编码为 |
字符编码形式,与数据库编码相同 |
包含默认排序规则的数据库名称(只要标识了某个排序规则,就总是当前数据库) |
包含该默认排序规则的模式名 |
默认排序规则的名字。该默认排序规则被标识为匹配当前数据库的 |