42.18. pg_index

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

Table 42-18. pg_index 字段

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