GBase 8c系统表-pg_attribute
pg_attribute系统表存储关于表字段的信息。
名称 | 类型 | 引用 | 描述 |
attrelid | oid | pg_class.oid | 列所属的表 |
attname | name |
| 列名 |
atttypid | oid | pg_type.oid | 列的数据类型 |
attstattarget | int4 |
| attstattarget控制由ANALYZE对此列收集的统计信息的细节层次。0值表示不会收集任何统计信息。一个负值则说明直接使用系统默认的目标。正值的确切含义取决于数据类型。对于标量数据类型,attstattarget既是要收集的“最常见值”的目标号,也是要创建的柱状图容器的目标号。 |
attlen | int2 |
| 本列类型的pg_type.typlen一个拷贝 |
attnum | int2 |
| 列的编号。一般列从1开始向上编号。系统列(如oid)则拥有(任意)负值编号。 |
attndims | int4 |
| 如果该列是一个数组类型,这里就是其维度数;否则为0。(在目前一个数组的维度数并不被强制,因此任何非零值都能有效地表明“这是一个数组”。) |
attcacheoff | int4 |
| 在存储中总是为-1,但是当被载入到一个内存中的行描述符后,这里可能会被更新为属性在行内的偏移 |
atttypmod | int4 |
| atttypmod记录了在表创建时提供的类型相关数据(例如一个varchar列的最大长度)。它会被传递给类型相关的输入函数和长度强制函数。对于那些不需要atttypmod的类型,这个值通常总是为-1。 |
attbyval | bool |
| 该列类型的pg_type.typbyval的一个拷贝 |
attstorage | char |
| 通常是该列类型的pg_type.typstorage的一个拷贝。对于可TOAST的数据类型,这可以在列创建后被修改以控制存储策略。 |
attalign | char |
| 该列类型的pg_type.typalign的一个拷贝 |
attnotnull | bool |
| 这表示一个非空约束。 |
atthasdef | bool |
| 该列有一个默认值,在此情况下在pg_attrdef目录中会有一个对应项来真正记录默认值。 |
attidentity | char |
| 如果是零字节(''),则不是一个标识列。 否则,a = 总是生成的, d = 默认生成的。 |
attisdropped | bool |
| 该列被删除且不再有效。一个删除的列仍然物理存在于表中,但是会被分析器忽略并因此无法通过SQL访问。 |
attislocal | bool |
| 该列是由关系本地定义的。注意一个列可以同时是本地定义和继承的。 |
attinhcount | int4 |
| 该列的直接祖先的编号。一个具有非零编号祖先的列不能被删除或者重命名。 |
attcollation | oid | pg_collation.oid | 该列被定义的排序规则,如果该列不是一个可排序数据类型则为0。 |
attacl | aclitem[] |
| 列级访问权限 |
attoptions | text[] |
| 属性级选项,以“keyword=value”形式的字符串 |
attfdwoptions | text[] |
| 属性级的外部数据包装器选项,以“keyword=value”形式的字符串 |
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526