PostgreSQL 9.3.2文書 | ||||
---|---|---|---|---|
前のページ | 上に戻る | 第 47章システムカタログ | 次のページ |
pg_collationカタログは利用可能な、SQL名とオペレーティングシステムのロケール分類との基本的な対応付けを行う照合順序を記述します。 項22.2を参照してください。
表 47-14. pg_collationの列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
oid | oid | 行識別子(隠し属性です。明示的に選択しなければなりません) | |
collname | name | 照合順序の名前(名前空間および符号化方式で一意) | |
collnamespace | oid | pg_namespace.oid | この照合順序を含む名前空間のOID |
collowner | oid | pg_authid.oid | 照合順序の所有者 |
collencoding | int4 | この照合順序を適用することができる符号化方式。任意の符号化方式で動作する場合は-1 | |
collcollate | name | この照合順序オブジェクト用のLC_COLLATE | |
collctype | name | この照合順序オブジェクト用のLC_CTYPE |
このカタログの一意キーは(collname, collnamespace)だけではなく(collname,collencoding, collnamespace)です。 PostgreSQLは通常、collencodingが現在のデータベースの符号化方式または-1と一致しない照合順序をすべて無視します。 また、collencoding = -1を持つ項目と名前が一致する新しい項目の作成は許されません。 したがって照合順序を識別するためには、カタログの定義に従うと一意ではない場合であっても、修飾されたSQL名称(schema.name)を使用することで十分です。 このようにカタログを定義した理由は、今後そのクラスタで使用される可能性があるすべての符号化方式のための項目を保持できるようにしなければなりませんので、クラスタの初期化時にinitdbがシステムで利用可能なすべてのロケール用の項目でこのカタログにデータを投入するためです。
template0データベースでは、後でtemplate0から複製されるデータベースの符号化方式に一致するかもしれませんので、データベース符号化方式に一致しない符号化方式のための照合順を作成することが有用になるかもしれません。 現在これは手作業で行う必要があります。