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。 |