character_sets
このcharacter_sets
ビューは、現在のデータベースで利用可能な文字セットを識別します。PostgreSQLはひとつのデータベース内で複数の文字セットをサポートしないので、このビューは常にデータベースエンコーディングの一行だけを表示します。
以下の用語のSQL標準での使われ方に注意してください。
例えばUNICODE
やUCS
、LATIN1
といった抽象的な文字集合です。SQLオブジェクトとしては出てきませんが、このビューで参照できます。
文字集合の符号化方式です。ほとんどの古い文字集合はひとつの符号化形式を使うため、それらについては分離した名称はありません(たとえば、LATIN1
はLATIN1
集合に適用可能な符号化形式です)。しかし例えばUnicodeにはUTF8
、UTF16
などの符号化形式があります(PostgreSQLでは一部だけサポートしています)。符号化形式はSQLオブジェクトとして表にでませんが、このビューで参照できます。
文字集合、文字符号化方式とデフォルトの照合を識別する順序名前つきのSQLオブジェクトです。定義済みの文字セットは、一般的に符号化形式と同じ名前を持ちますが、ユーザは他の名前を定義できます。
例えば、文字セットUTF8
は一般的に文字集合UCS
、符号化形式UTF8
と何らかのデフォルト照合を識別します。
PostgreSQLにおける「encoding」は、文字セットまたは文字符号化形式のいずれかと考えられます。これらは同じ名前を持ち一つのデータベースでは一つだけ存在できます。
表35.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です。
|