50.6. pg_attrdef

pg_attrdef存储列的默认值。列的主要信息存储在pg_attribute(见下文)。只有那些显式指定了一个默认值的列(在表创建时或列增加时)才会在这个目录中有一个项。

表 50-6. pg_attrdef的列

名称类型引用描述
oidoid 行标识符(隐藏属性,必须被显式选择才会显示)
adrelidoidpg_class.oid该列所属的表
adnumint2pg_attribute.attnum列号
adbinpg_node_tree 列默认值的内部表示
adsrctext 默认值的人类可读的表示

adsrc列的存在是有历史原因的,并且最好不要被使用,因为它不能跟踪可能导致默认值表现形式的外部变化。如果要显示默认值,反编译adbin列(例如使用pg_get_expr)是一种更好的方法。