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