On this page
37.7. character_sets
视图character_sets
标识当前数据库中可用的字符集。由于 PostgreSQL 在一个数据库中不支持多个字符集,因此该视图仅显示一个字符集,即数据库编码。
请注意在 SQL 标准中如何使用以下术语:
character repertoire
- 字符的抽象集合,例如
UNICODE
,UCS
或LATIN1
。没有公开为 SQL 对象,但在此视图中可见。
- 字符的抽象集合,例如
字符编码形式
- 某些字符库的编码。大多数较早的字符库仅使用一种编码形式,因此没有单独的名称(例如
LATIN1
是适用于LATIN1
库的编码形式)。但是,例如 Unicode 的编码形式为UTF8
,UTF16
等(PostgreSQL 并不全部支持)。编码形式不作为 SQL 对象公开,但在此视图中可见。
- 某些字符库的编码。大多数较早的字符库仅使用一种编码形式,因此没有单独的名称(例如
character set
- 一个命名的 SQL 对象,用于标识字符表,字符编码和默认排序规则。sched 义的字符集通常具有与编码形式相同的名称,但是用户可以定义其他名称。例如,字符集
UTF8
通常会标识字符库UCS
,编码形式UTF8
以及一些默认排序规则。
- 一个命名的 SQL 对象,用于标识字符表,字符编码和默认排序规则。sched 义的字符集通常具有与编码形式相同的名称,但是用户可以定义其他名称。例如,字符集
您可以将 PostgreSQL 中的“编码”视为字符集或字符编码形式。它们将具有相同的名称,并且只能有一个数据库。
表 37.5. character_sets
列
Name | Data 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 设置匹配的排序规则。如果没有这样的排序规则,则此列以及关联的架构和目录列为空。 |