Postgresql 中文操作指南
37.7. character_sets #
视图 character_sets 标识当前数据库中可用的字符集。由于 PostgreSQL 在一个数据库中不支持多个字符集,因此此视图仅显示一个,即数据库编码。
请注意如何使用以下术语来理解 SQL 标准:
-
character repertoire
-
字符的抽象集合,例如 UNICODE、UCS 或 LATIN1。未作为 SQL 对象公开,但在此视图中可见。
-
-
character encoding form
-
某些字符集的编码。大多数较旧的字符集仅使用一种编码形式,因此没有单独的名称(例如,LATIN2 是 LATIN2 集适用的编码形式)。但是,例如 Unicode 具有 UTF8、UTF16 等编码形式(并非全部受 PostgreSQL 支持)。编码形式未作为 SQL 对象公开,但在此视图中可见。
-
-
character set
-
一个命名的 SQL 对象,它标识字符集、字符编码和默认排序规则。一个预定义的字符集通常具有与编码形式相同的名称,但是用户可以定义其他名称。例如,字符集 UTF8 通常标识字符集 UCS、编码形式 UTF8 和某些默认排序规则。
-
在 PostgreSQL 中,您可以将“encoding”理解为字符集或字符编码形式。它们将具有相同的名称,并且在一个数据库中只能有一个。
Table 37.5. character_sets Columns
Column Type Description |
character_set_catalog sql_identifier 目前未将字符集实现为模式对象,因此此列为 null。 |
character_set_schema sql_identifier 目前未将字符集实现为模式对象,因此此列为 null。 |
character_set_name sql_identifier 字符集的名称,目前实现为显示数据库编码的名称 |
character_repertoire sql_identifier 字符目录,显示 UCS ,如果编码为 UTF8 ,否则仅显示编码名称 |
form_of_use sql_identifier 字符编码形式,与数据库编码相同 |
default_collate_catalog sql_identifier 包含默认校对的数据库的名称(如果识别到任何校对,则始终为当前数据库) |
default_collate_schema sql_identifier 包含默认校对的模式名称 |
default_collate_name sql_identifier 默认校对的名称。默认校对被识别为与当前数据库的 COLLATE 和 CTYPE 设置相匹配的校对。如果没有此类校对,则此列以及关联的模式和编目列为 null。 |