pg_attribute
#目录 pg_attribute
存储关于表列的信息。数据库中的每个表中的每一列都将有一个 pg_attribute
行。(索引以及所有具有 pg_class
条目的对象也将有属性条目。)
属性(attribute)一词等同于列(column),是出于历史原因而使用的。
表 52.7. pg_attribute
列
列 类型 描述 |
---|
该列所属的表 |
列名 |
该列的数据类型(已删除的列为零) |
该列类型的 |
列的编号。普通列从 1 开始编号。系统列,例如 |
|
如果该列是数组类型,则维度数;否则为 0。(目前,数组的维度数不受强制,因此任何非零值实际上都意味着“它是一个数组”。) |
该列类型的 |
该列类型的 |
通常是该列类型的 |
列的当前压缩方法。通常为 |
此列具有一个(可能无效的)非空约束。 |
此列具有一个默认表达式或生成表达式,在这种情况下, |
此列具有一个值,当该列在行中完全缺失时使用该值,就像在行创建后添加具有非易失性 |
如果为零字节( |
如果为零字节( |
此列已被删除,不再有效。已删除的列仍然物理存在于表中,但会被解析器忽略,因此无法通过 SQL 访问。 |
此列在关系中是本地定义的。请注意,一列可以同时是本地定义和继承的。 |
此列的直接祖先数量。具有非零祖先数量的列不能被删除或重命名。 |
列的定义排序规则,如果列不是可排序的数据类型,则为零 |
|
列级别的访问权限,如果已授予任何特定于此列的权限 |
属性级别的选项,以“keyword=value”字符串的形式 |
属性级别的外部数据包装器选项,以“keyword=value”字符串的形式 |
此列包含一个包含一行中列完全缺失时使用的值的单元素数组,就像在行创建后添加具有非易失性 |
在已删除列的 pg_attribute
条目中,atttypid
被重置为零,但 attlen
以及从 pg_type
复制的其他字段仍然有效。这种安排对于处理已删除列的数据类型后来被删除,从而不再有 pg_type
行的情况是必要的。attlen
和其他字段可用于解释表行中的内容。
如果您在文档中发现任何不正确、与您在使用特定功能时的经验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。