pg_index

pg_index系统目录表包含部分关于索引的信息。剩下的信息主要在pg_class表中。

表 1. pg_catalog.pg_index
类型参考描述
indexrelidoidpg_class.oid该索引的pg_class项的OID。
indrelidoidpg_class.oid该索引所对应的表的pg_class项的OID。
indnattsint2 索引中的列数(与其 pg_class.relnatts重复)。
indisuniqueboolean 如果为真,则这是一个唯一索引。
indisprimaryboolean 如果为真,则这个索引表示表的主键(此属性为真时indisunique总是为真)。
indisclusteredboolean 如果为真,表最后一次是通过CLUSTER命令在此索引上聚簇。
indisvalidboolean 如果为真,则该索引目前对查询有效。如果为假,意味着该索引目前可能不完整:它仍然必须被INSERT/UPDATE操作所修改,但是它不能被安全地用于查询。
indkeyint2vectorpg_attribute.attnum这是一个长度为indnatts值的数组,它指出了这个索引索引哪些表列。例如,值为1 3意味着1号、3号列组成索引键。该数组中的0表示相应的索引属性是表列上的表达式,而不是简单的列引用。
indclassoidvectorpg_opclass.oid对于索引键中的每个列,它包含要使用的操作符类OID。
indexprstext 非简单列引用的索引属性的表达式树(表示为 nodeToString()的形式)。这是一个列表,indkey中每一个为0的元素在其中都有一项。如果所有索引属性都是简单引用,则为NULL。
indpredtext 用于部分索引谓词的表达式树(表示为 nodeToString()的形式),如不是部分索引则为NULL。

上级话题: 系统目录定义