43.16. pg_index

pg_index 包含关于索引的一部分信息。 其他的信息大多数在 pg_class

Table 43-16. pg_index 字段

名字类型引用描述
indexrelidoidpg_class.oid这个索引在pg_class里的记录的 OID
indrelidoidpg_class.oid使用这个索引的表在pg_class里的记录的 OID
indkeyint2vectorpg_attribute.attnum 这是一个向量(数组),最多有 INDEX_MAX_KEYS 个值,指向该索引建立的表字段。 比如一个值为 1 3 的向量意味着第一个字段和第三个字段组成 这个索引键字。 这个数组里的零表明对应的索引属性是在这个表字段上的一个表达式, 而不是一个简单的字段引用。
indclassoidvectorpg_opclass.oid 对于索引键字里面的每个字段,这个字段都包含一个指向所使用的 "操作符表"的 OID,参阅 pg_opclass 获取细节。
indnattsint2 索引中的字段数目(复制的 pg_class.relnatts
indisuniquebool 如果为真,这是个唯一索引
indisprimarybool 如果为真,该索引代表该表的主键。 (这个字段为真的时候indisunique应该总是为真。)
indisclusteredbool 如果为真,那么该表最后在这个索引上建了簇。
indexprstext 表达式树(以 nodeToString() 形式表现) 用于那些非简单字段引用的索引属性。它是一个列表,在 indkey 里面的每个零条目一个元素。如果所有索引属性都是简单的引用,则为空。
indpredtext 部分索引断言的表达式树(是以nodeToString()的形式表现的)。如果不是部分索引, 则是空字串。