暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

【学习笔记】mogdb参考指南-系统表PG_ATTRIBUTE

原创 哇哈哈 2022-12-14
416

PG_ATTRIBUTE

PG_ATTRIBUTE系统表存储关于表字段的信息。

表 1 PG_ATTRIBUTE字段

名称类型描述
attrelidoid此字段所属表。
attnamename字段名。
atttypidoid字段类型。
attstattargetinteger控制ANALYZE为这个字段积累的统计细节的级别。
- 零值表示不收集统计信息。
- 负数表示使用系统缺省的统计对象。
- 正数值的确切信息是和数据类型相关的。
对于标量数据类型,ATTSTATTARGET既是要收集的"最常用数值"的目标数目,也是要创建的柱状图的目标数量。
attlensmallint是本字段类型的pg_type.typlen的拷贝。
attnumsmallint字段编号。
attndimsinteger如果该字段是数组,则是维数,否则是0 。
attcacheoffinteger在磁盘上的时候总是-1 ,但是如果加载入内存中的行描述器中,它可能会被更新以缓冲在行中字段的偏移量。
atttypmodinteger记录创建新表时支持的类型特定的数据(比如一个varchar字段的最大长度)。它传递给类型相关的输入和长度转换函数当做第三个参数。其值对那些不需要ATTTYPMOD的类型通常为-1。
attbyvalBoolean这个字段类型的pg_type.typbyval的拷贝。
attstorage"char"这个字段类型的pg_type.typstorage的拷贝。
attalign"char"这个字段类型的pg_type.typalign的拷贝。
attnotnullBoolean这代表一个非空约束。可以改变这个字段以打开或者关闭这个约束。
atthasdefBoolean这个字段有一个缺省值,此时它对应pg_attrdef表里实际定义此值的记录。
attisdroppedBoolean这个字段已经被删除了,不再有效。一个已经删除的字段物理上仍然存在表中,但会被分析器忽略,因此不能再通过SQL访问。
attislocalBoolean这个字段是局部定义在关系中的。请注意一个字段可以同时是局部定义和继承的。
attcmprmodetinyint对某一列指定压缩方式。压缩方式包括:
- ATT_CMPR_NOCOMPRESS
- ATT_CMPR_DELTA
- ATT_CMPR_DICTIONARY
- ATT_CMPR_PREFIX
- ATT_CMPR_NUMSTR
attinhcountinteger这个字段所拥有的直接父表的个数。如果一个字段的父表个数非零,则它就不能被删除或重命名。
attcollationoid对此列定义的校对列。
attaclaclitem[]列级访问权限控制。
attoptionstext[]字段属性。目前支持以下两种属性:
n_distinct,表示该字段的distinct值数量(不包含字表)
n_distinct_inherited,表示该字段的distinct值数量(包含字表)
attfdwoptionstext[]外表字段属性。当前支持的dist_fdw、file_fdw、log_fdw未使用外表字段属性。
attinitdefvalbytea存储了此列默认的值表达式。行存表的ADD COLUMN需要使用此字段。
attkvtypetinyint对某一列指定key value类型。类型包括:
0. ATT_KV_UNDEFINED : 默认
1. ATT_KV_TAG : 维度
2. ATT_KV_FIELD : 指标
3. ATT_KV_TIMETAG : 时间列
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论