★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

37.7. character_sets

このcharacter_setsビューは、現在のデータベースで利用可能な文字セットを示します。 PostgreSQLはひとつのデータベース内で複数の文字セットをサポートしないので、このビューは常にデータベースエンコーディングの一行だけを表示します。

以下の用語のSQL標準での使われ方に注意してください。

文字集合

例えばUNICODEUCSLATIN1といった抽象的な文字集合です。SQLオブジェクトとしては出てきませんが、このビューで参照できます。

文字符号化形式

文字集合の符号化方式です。 ほとんどの古い文字集合はひとつの符号化形式を使うため、それらについては分離した名称はありません(たとえば、LATIN1LATIN1集合に適用可能な符号化形式です)。 しかし例えばUnicodeにはUTF8UTF16などの符号化形式があります(PostgreSQLでは一部だけサポートしています)。 符号化形式はSQLオブジェクトとして表にでませんが、このビューで参照できます。

文字セット

文字集合、文字符号化方式とデフォルトの照合を識別する順序名前つきのSQLオブジェクトです。定義済みの文字セットは、一般的に符号化形式と同じ名前を持ちますが、ユーザは他の名前を定義できます。 例えば、文字セットUTF8は一般的に文字集合UCS、符号化形式UTF8と何らかのデフォルト照合を示します。

PostgreSQLにおけるencodingは、文字セットまたは文字符号化形式のいずれかと考えられます。これらは同じ名前を持ち一つのデータベースでは一つだけ存在できます。

表37.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

デフォルト照合の名前です。デフォルト照合は、現在のデータベースのCOLLATECTYPE設定に一致する照合として識別されます。そのような照合が存在しない場合は、この列や対応するスキーマやカタログの列はNULLです。