PG_INDEX
PG_INDEX系统表存储索引的一部分信息,其他的信息大多数在PG_CLASS中。
名称 |
类型 |
描述 |
---|---|---|
indexrelid |
oid |
此索引的pg_class项的OID。 |
indrelid |
oid |
使用该索引的表在pg_class项的OID。 |
indnatts |
smallint |
索引中的字段数目。 |
indisunique |
boolean |
如果为真,为唯一索引。 |
indisprimary |
boolean |
如果为真,该索引为该表的主键。该字段为真时,indisunique也总是为真。 |
indisexclusion |
boolean |
如果为真,该索引支持排他约束。 |
indimmediate |
boolean |
如果为真,在插入数据时会立即执行唯一性检查。 |
indisclustered |
boolean |
如果为真,则该表最后以此索引进行了聚簇。 |
indisusable |
boolean |
如果为真,此索引对INSERT/SELECT可用。 |
indisvalid |
boolean |
如果为真,则此索引可以用于查询。如果为假,则该索引可能不完整,仍然必须在INSERT/UPDATE操作时进行更新,但不能安全的被用于查询。如果是唯一索引,则唯一属性也不为真。 |
indcheckxmin |
boolean |
如果为真,查询不能使用此索引,直到pg_index此行的xmin低于其快照的TransactionXmin,因为该表可能包含它们可见的不兼容行断开的HOT链。 |
indisready |
boolean |
如果为真,表示此索引对插入数据可用。如果为假,在插入或修改数据时忽略此索引。 |
indkey |
int2vector |
这是一个包含indnatts值的数组,这些数组值表示此索引所建立的表字段。比如一个值为1 3的意思是第一个字段和第三个字段组成这个索引键。数组中的0表示对应的索引属性是一个表字段上的表达式,而不是一个简单的字段引用。 |
indcollation |
oidvector |
索引用到的各列的ID。 |
indclass |
oidvector |
对于索引键中的每个字段,该字段都包含要使用的操作符类的OID,详见PG_OPCLASS。 |
indoption |
int2vector |
存储列前标识位,该标识位是由索引的访问方法定义。 |
indexprs |
pg_node_tree |
表达式树(以nodeToString()形式表现)用于那些非简单字段引用的索引属性。它是一个列表,个数与INDKEY中的零值个数相同。如果所有索引属性都是简单的引用,则为空。 |
indpred |
pg_node_tree |
部分索引谓词的表达式树(以nodeToString()的形式表现)。如果不是部分索引,则为空。 |