跳转到主要内容
← 目录图谱 / pg_collation

SYSTEM CATALOG · 系统目录

pg_collation

The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.

首次收录 PG 9.1最近收录 PG 19当前字段 12

已与 PostgreSQL 18.6 实例逐字段核对 · 原始实测记录 ↗

字段结构 PostgreSQL 18

pg_collation
字段 / COLUMN类型 / TYPE说明 / DESCRIPTION
oid oidNOT NULL Row identifier
collname nameNOT NULL Collation name (unique per namespace and encoding)
collnamespace oidNOT NULL The OID of the namespace that contains this collation引用:pg_namespace.oid
collowner oidNOT NULL Owner of the collation引用:pg_authid.oid
collprovider "char"NOT NULL文档原写法:char Provider of the collation: d = database default, b = builtin, c = libc, i = icu
collisdeterministic booleanNOT NULL文档原写法:bool Is the collation deterministic?
collencoding integerNOT NULL文档原写法:int4 Encoding in which the collation is applicable, or -1 if it works for any encoding
collcollate text LC_COLLATE for this collation object. If the provider is not libc, collcollate is NULL and colllocale is used instead.
collctype text LC_CTYPE for this collation object. If the provider is not libc, collctype is NULL and colllocale is used instead.
colllocale text Collation provider locale name for this collation object. If the provider is libc, colllocale is NULL; collcollate and collctype are used instead.
collicurules text ICU collation rules for this collation object
collversion text Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.

标记“隐式列”的字段不包含在 SELECT * 中;部分早期统计视图由同版本源码补全,额外来源会显示在字段说明中。

通用系统列 6

PostgreSQL 提供的系统属性,通常不在 SELECT * 中展开。单独保留,不与普通字段混算。

字段类型attnum
tableoidoid-6
cmaxcid-5
xmaxxid-4
cmincid-3
xminxid-2
ctidtid-1

字段演化矩阵

悬停查看字段类型
存在新增 / 类型或属性变化移除
字段 / COLUMN9.09.19.29.39.49.59.610111213141516171819
oid
collname
collnamespace
collowner
collencoding
collcollate
collctype
collprovider
collversion
collisdeterministic
colliculocale
collicurules
colllocale

9.0 是收录基线;基线中已存在的字段不标记为新增。矩阵按字段名称对齐,重命名显示为旧字段移除与新字段新增。

演化时间线

相邻大版本的变化

PostgreSQL 17 ← 16

+ colllocale− colliculocale3 处字段说明更新目录说明更新

PostgreSQL 16 ← 15

+ collicurules

PostgreSQL 15 ← 14

+ colliculocale~ collcollate: name → text~ collctype: name → text~ collcollate: not_null: true → false~ collctype: not_null: true → false

PostgreSQL 14 ← 13

目录说明更新

PostgreSQL 12 ← 11

+ collisdeterministic~ oid: 隐式列 → 常规列1 处字段说明更新

PostgreSQL 10 ← 9.6

+ collprovider+ collversion

PostgreSQL 9.6 ← 9.5

目录说明更新

PostgreSQL 9.3 ← 9.2

1 处字段说明更新

PostgreSQL 9.1 ← 9.0新增目录

+ oid+ collname+ collnamespace+ collowner+ collencoding+ collcollate+ collctype

比较任意两个版本

选择两个版本,查看字段的新增、移除与类型变化。交互比较需要 JavaScript;演化时间线可直接阅读。