pg_attrdef
pg_attrdef
存储列的默认值。列的主要信息存储在pg_attribute
(见下文)。只有那些显式指定了一个默认值的列(在表创建时或列增加时)才会在这个目录中有一个项。
表 51.6. pg_attrdef
的列
名称 | 类型 | 引用 | 描述 |
---|---|---|---|
oid | oid | 行标识符(隐藏属性,必须被显式选择才会显示) | |
adrelid | oid |
| 该列所属的表 |
adnum | int2 |
| 列号 |
adbin | pg_node_tree | 列默认值的内部表示 | |
adsrc | text | 默认值的人类可读的表示 |
adsrc
列的存在是有历史原因的,并且最好不要被使用,因为它不能跟踪可能导致默认值表现形式的外部变化。如果要显示默认值,反编译adbin
列(例如使用pg_get_expr
)是一种更好的方法。