character_sets #视图character_sets标识了当前数据库中可用的字符集。由于PostgreSQL不支持在同一数据库中使用多个字符集,因此该视图只显示一个,即数据库编码。
请注意SQL标准中以下术语的用法:
抽象的字符集合,例如UNICODE、UCS或LATIN1。它不是作为SQL对象公开的,但在该视图中可见。
某种字符集的编码。大多数较旧的字符集只有一种编码形式,因此它们没有单独的名称(例如,LATIN2是一种适用于LATIN2字符集的编码形式)。但例如Unicode有UTF8、UTF16等编码形式(并非所有都受PostgreSQL支持)。编码形式不是作为SQL对象公开的,但在该视图中可见。
一个命名的SQL对象,用于标识字符集、字符编码和默认排序规则。预定义的字符集通常会与编码形式同名,但用户可以定义其他名称。例如,UTF8字符集通常会标识UCS字符集、UTF8编码形式和某种默认排序规则。
你可以将PostgreSQL中的“编码”(encoding)理解为字符集或字符编码形式。它们具有相同的名称,并且一个数据库中只能有一个。
表 35.5. character_sets 列
|
列 类型 描述 |
|---|
|
字符集目前并未实现为模式对象,因此此列为NULL。 |
|
字符集目前并未实现为模式对象,因此此列为NULL。 |
|
字符集的名称,目前实现为显示数据库编码的名称 |
|
字符集,如果编码是 |
|
字符编码形式,与数据库编码相同 |
|
包含默认排序规则的数据库名称(如果有标识排序规则,则始终是当前数据库) |
|
包含默认排序规则的模式名称 |
|
默认排序规则的名称。默认排序规则被识别为与当前数据库的 |