pg_collation #目錄 pg_collation 描述了可用的排序規則,它們本質上是從 SQL 名稱到作業系統區域設定類別的對映。有關更多資訊,請參閱 第 23.2 節。
表 52.12. pg_collation 列
|
列 型別 描述 |
|---|
|
行識別符號 |
|
排序規則名稱(在名稱空間和編碼中唯一) |
|
包含此排序規則的名稱空間的 OID |
|
排序規則的所有者 |
|
排序規則的提供程式: |
|
排序規則是否是確定性的? |
|
排序規則適用的編碼,或 -1 表示適用於任何編碼 |
|
此排序規則物件的 |
|
此排序規則物件的 |
|
此排序規則物件的排序規則提供程式區域設定名稱。如果提供程式是 |
|
此排序規則物件的 ICU 排序規則規則 |
|
排序規則的提供程式特定版本。此版本在建立排序規則時記錄,然後在使用時進行檢查,以檢測可能導致資料損壞的排序規則定義中的更改。 |
請注意,此目錄的唯一鍵是(collname、collencoding、collnamespace),而不僅僅是(collname、collnamespace)。PostgreSQL 通常會忽略所有 collencoding 不等於當前資料庫編碼或 -1 的排序規則,並且禁止建立與 collencoding = -1 的條目具有相同名稱的新條目。因此,即使根據目錄定義不是唯一的,使用限定 SQL 名稱(schema.name)來標識排序規則就足夠了。定義目錄的方式是因為 initdb 在群集初始化時會用系統中所有可用區域設定的條目填充它,因此它必須能夠容納群集中可能使用的所有編碼的條目。
在 template0 資料庫中,建立編碼不匹配資料庫編碼的排序規則可能很有用,因為它們可以匹配後來從 template0 克隆的資料庫的編碼。目前這需要手動完成。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。