PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 34. 信息模式 | 下一页

# 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"是一个字符集或一种字符编码形式。 他们将有相同的名称，并且在一个数据库中只能有一个。

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

上一页 | 起始页 | 下一页
`attributes` | 上一级 | `check_constraint_routine_usage`