认识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”形式的字符串

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值