认识 GBase 8c 系统表——pg_index

pg_index系统表存储索引的一部分信息,其他的信息大多数在pg_class中。

名称

类型

引用

描述

indexrelid

oid

pg_class.oid

此索引的pg_class项的OID

indrelid

oid

pg_class.oid

此索引的基表的pg_class项的OID

indnatts

int2

索引中的列数(与pg_class.relnatts重复)

indisunique

bool

表示是否为唯一索引

indisprimary

bool

表示索引是否表示表的主键(如果此列为真,indisunique也总是为真)

indisexclusion

bool

表示索引是否支持一个排他约束

indimmediate

bool

表示唯一性检查是否在插入时立即被执行(如果indisunique为假,此列无关)

indisclustered

bool

如果为真,表示表最后以此索引进行了聚簇

indisvalid

bool

如果为真,此索引当前可以用于查询。为假表示此索引可能不完整:它肯定还在被INSERT/UPDATE操作所修改,但它不能安全地被用于查询。如果索引是唯一索引,唯一性属性也不能被保证。

indcheckxmin

bool

如果为真,直到此pg_index行的xmin低于查询的TransactionXmin视界之前,查询都不能使用此索引,因为表可能包含具有它们可见的不相容行的损坏HOT链

indisready

bool

如果为真,表示此索引当前可以用于插入。为假表示索引必须被INSERT/UPDATE操作忽略。

indislive

bool

如果为假,索引正处于被删除过程中,并且必须被所有处理忽略(包括HOT安全的决策)

indisreplident

bool

如果为真,这个索引被选择为使用ALTER TABLE ... REPLICA IDENTITY USING INDEX ...的“replica identity”

indkey

int2vector

pg_attribute.attnum

这是一个indnatts值的数组,它表示了此索引索引的表列。例如一个1 3值可能表示表的第一和第三列组成了索引的键。数组中的一个0表示对应的索引属性是一个在表列上的表达式,而不是一个简单的列引用。

indcollation

oidvector

pg_collation.oid

对于索引键中的每一列,这里包含了用于该索引的排序规则的OID, 或者如果该列不是可排序的数据类型则为零。

indclass

oidvector

pg_opclass.oid

对于索引键中的每一列,这里包含了要使用的操作符类的OID。

indoption

int2vector

这是一个indnatts值的数组,用于存储每列的标志位。位的意义由索引的访问方法定义。

indexprs

pg_node_tree

非简单列引用索引属性的表达式树(以nodeToString()形式)。对于indkey中每一个为0的项,这个列表中都有一个元素。如果所有的索引属性都是简单引用,此列为空。

indpred

pg_node_tree

部分索引谓词的表达式树(以nodeToString()形式)。如果不是部分索引,此列为空。 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值