PostgreSQL 9.6.0 手册 | |||
---|---|---|---|
上一页 | 上一级 | 章 35. 信息模式 | 下一页 |
35.7. character_sets
视图character_sets标识当前数据库中可用的字符集。因为 PostgreSQL 不支持在同一个数据库中有多个字符集,这个视图只显示一个字符集,它就是数据库编码。
注意下列术语在 SQL 标准中是怎样使用的:
- 字元集(character repertoire)
-
字符的一个抽象集合,例如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_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设置的排序规则。如果没有那种排序规则,那么这一列和相关模式以及目录列为空。 |