すべてのプロダクト
Search
ドキュメントセンター

PolarDB:pg_collation

最終更新日:May 30, 2024

カタログのpg_collationには、使用可能な照合順序が記述されています。これは、基本的にSQL名からオペレーティングシステムのロケールカテゴリへのマッピングです。

データ型

説明

oid

oid

行識別子。

collname

name

照合順序名 (名前空間およびエンコーディングごとに一意) 。

collnamespace

oid

この照合順序を含む名前空間のOID。

collowner

oid

照合の所有者。

collprovider

char

照合順序のプロバイダ: d= database default、c= libc、i= icu。

collisdeterministic

bool

照合は決定論的ですか?

collencoding

int4

照合順序が適用可能なエンコーディング、または任意のエンコーディングで機能する場合は-1。

照合

name

この照合順序オブジェクトのLC_COLLATE

colctype

name

この照合順序オブジェクトのLC_CTYPE

collversion

テキスト

プロバイダー固有の照合順序のバージョン。 これは、照合順序の作成時に記録され、使用時にチェックされて、データの破損につながる可能性のある照合順序定義の変更を検出します。

このカタログの一意のキーは、(collname, collencoding, collnamespace) だけでなく (collname, collnamespace) です。PostgreSQLは通常、現在のデータベースのエンコーディングまたは-1に等しいcollencodingを持たないすべての照合順序を無視します。collingencode= -1のエントリと同じ名前のエントリのエントリの したがって、照合順序を識別するには、これがカタログ定義に従って一意でなくても、修飾SQL名 (schema. name) を使用すれば十分です。 このようにカタログを定義する理由は、システム上で利用可能なすべてのロケールのエントリをクラスタ初期化時に入力するため、クラスタで使用される可能性のあるすべてのエンコーディングのエントリを保持できる必要があります。

template0データベースでは、後にtemplate0から複製されたデータベースのエンコーディングと一致する可能性があるため、エンコーディングがデータベースのエンコーディングと一致しない照合順序を作成すると便利です。 これは、現在、手動で行われなければならない。