pg_index 包含关于索引的一部分信息。 其他的信息大多数在 pg_class。
Table 41-16. pg_index 字段
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
indexrelid | oid | pg_class.oid | 这个索引在pg_class里的记录的 OID |
indrelid | oid | pg_class.oid | 使用这个索引的表在pg_class里的记录的 OID |
indkey | int2vector | pg_attribute.attnum | 这是一个向量(数组),最多有 INDEX_MAX_KEYS 个值,指向该索引建立的表字段。 比如一个值为 1 3 的向量意味着第一个字段和第三个字段组成这个索引键字。 这个数组里的零表明对应的索引属性是在这个表字段上的一个表达式,而不是一个简单的字段引用。 |
indclass | oidvector | pg_opclass.oid | 对于索引键字里面的每个字段,这个字段都包含一个指向所使用的"操作符表"的 OID,参阅 pg_opclass 获取细节。 |
indnatts | int2 | 索引中的字段数目(复制的 pg_class.relnatts) | |
indisunique | bool | 如果为真,这是个唯一索引 | |
indisprimary | bool | 如果为真,该索引代表该表的主键。 (这个字段为真的时候indisunique应该总是为真。) | |
indisclustered | bool | 如果为真,那么该表最后在这个索引上建了簇。 | |
indexprs | text | 表达式树(以 nodeToString() 形式表现) 用于那些非简单字段引用的索引属性。它是一个列表,在 indkey 里面的每个零条目一个元素。如果所有索引属性都是简单的引用,则为空。 | |
indpred | text | 部分索引断言的表达式树(是以nodeToString()的形式表现的)。如果不是部分索引, 则是空字串。 |