他のバージョンの文書 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

47.14. pg_collation

pg_collationカタログは利用可能な、SQL名とオペレーティングシステムのロケール分類との基本的な対応付けを行う照合順序を記述します。 項22.2を参照してください。

表 47-14. pg_collationの列

名前参照先説明
oidoid 行識別子(隠し属性です。明示的に選択しなければなりません)
collnamename 照合順序の名前(名前空間および符号化方式で一意)
collnamespaceoidpg_namespace.oidこの照合順序を含む名前空間のOID
collowneroidpg_authid.oid照合順序の所有者
collencodingint4 この照合順序を適用することができる符号化方式。任意の符号化方式で動作する場合は-1
collcollatename この照合順序オブジェクト用のLC_COLLATE
collctypename この照合順序オブジェクト用のLC_CTYPE

このカタログの一意キーは(collname, collnamespace)だけではなく(collname,collencoding, collnamespace)です。 PostgreSQLは通常、collencodingが現在のデータベースの符号化方式または-1と一致しない照合順序をすべて無視します。 また、collencoding = -1を持つ項目と名前が一致する新しい項目の作成は許されません。 したがって照合順序を識別するためには、カタログの定義に従うと一意ではない場合であっても、修飾されたSQL名称(schema.name)を使用することで十分です。 このようにカタログを定義した理由は、今後そのクラスタで使用される可能性があるすべての符号化方式のための項目を保持できるようにしなければなりませんので、クラスタの初期化時にinitdbがシステムで利用可能なすべてのロケール用の項目でこのカタログにデータを投入するためです。

template0データベースでは、後でtemplate0から複製されるデータベースの符号化方式に一致するかもしれませんので、データベース符号化方式に一致しない符号化方式のための照合順を作成することが有用になるかもしれません。 現在これは手作業で行う必要があります。