character_sets

PostgreSQL 9.1.1文書
前のページ | 巻戻し | 第 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`