PostgreSQL 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 中的一种“编码”想成一个字符集或是一种字符编码形式。它们将具有相同的名字,并且在一个数据库中只能用其中一个。
表 36.5. character_sets
列
列类型 描述 |
---|
当前字符集并未被实现为模式对象,因此这一列为空。 |
当前字符集并未被实现为模式对象,因此这一列为空。 |
该字符集的名字,当前实现为显示该数据库编码的名字 |
字元集,如果编码为 |
字符编码形式,与数据库编码相同 |
包含该默认排序规则的数据库名(如果任意排序规则被标识,总是当前数据库) |
包含该默认排序规则的模式名 |
默认排序规则的名字。该默认排序规则被标识为匹配当前数据库的 |