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