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

SYSTEM CATALOG · 系统目录

pg_attrdef

The catalog pg_attrdef stores column default expressions and generation expressions. The main information about columns is stored in pg_attribute. Only columns for which a default expression or generation expression has been explicitly set will have an entry here.

首次收录 PG 9.0最近收录 PG 19当前字段 4

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

字段结构 PostgreSQL 18

pg_attrdef
字段 / COLUMN类型 / TYPE说明 / DESCRIPTION
oid oidNOT NULL Row identifier
adrelid oidNOT NULL The table this column belongs to引用:pg_class.oid
adnum smallintNOT NULL文档原写法:int2 The number of the column引用:pg_attribute.attnum
adbin pg_node_treeNOT NULL The column default or generation expression, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.

标记“隐式列”的字段不包含在 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
adrelid
adnum
adbin
adsrc

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

演化时间线

相邻大版本的变化

PostgreSQL 18 ← 17

1 处字段说明更新目录说明更新

PostgreSQL 12 ← 11

− adsrc~ adbin: not_null: false → true~ oid: 隐式列 → 常规列2 处字段说明更新目录说明更新

PostgreSQL 9.3 ← 9.2

1 处字段说明更新

PostgreSQL 9.1 ← 9.0

~ adbin: text → pg_node_tree

比较任意两个版本

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