PostgreSQL 12 ← 11
SYSTEM CATALOG · 系统目录
pg_cast
The catalog pg_cast stores data type conversion paths, both built-in and user-defined. It should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.
已与 PostgreSQL 18.6 实例逐字段核对 · 原始实测记录 ↗
字段结构 PostgreSQL 18
pg_cast| 字段 / COLUMN | 类型 / TYPE | 说明 / DESCRIPTION |
|---|---|---|
oid |
oidNOT NULL |
Row identifier |
castsource |
oidNOT NULL |
OID of the source data type引用:pg_type.oid |
casttarget |
oidNOT NULL |
OID of the target data type引用:pg_type.oid |
castfunc |
oidNOT NULL |
The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.引用:pg_proc.oid |
castcontext |
"char"NOT NULL文档原写法:char |
Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases. |
castmethod |
"char"NOT NULL文档原写法:char |
Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required. |
标记“隐式列”的字段不包含在 SELECT * 中;部分早期统计视图由同版本源码补全,额外来源会显示在字段说明中。
通用系统列 6
PostgreSQL 提供的系统属性,通常不在 SELECT * 中展开。单独保留,不与普通字段混算。
| 字段 | 类型 | attnum |
|---|---|---|
tableoid | oid | -6 |
cmax | cid | -5 |
xmax | xid | -4 |
cmin | cid | -3 |
xmin | xid | -2 |
ctid | tid | -1 |
字段演化矩阵
悬停查看字段类型| 字段 / COLUMN | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
oid |
|||||||||||||||||
castsource |
|||||||||||||||||
casttarget |
|||||||||||||||||
castfunc |
|||||||||||||||||
castcontext |
|||||||||||||||||
castmethod |
9.0 是收录基线;基线中已存在的字段不标记为新增。矩阵按字段名称对齐,重命名显示为旧字段移除与新字段新增。
演化时间线
相邻大版本的变化PostgreSQL 10 ← 9.6
PostgreSQL 9.3 ← 9.2
PostgreSQL 9.2 ← 9.1
比较任意两个版本
选择两个版本,查看字段的新增、移除与类型变化。交互比较需要 JavaScript;演化时间线可直接阅读。