
# PG_INDEX
PG_INDEX系统表存储索引的一部分信息，其他的信息大多数在PG_CLASS中。
表1PG_INDEX字段 
| 名称                | 类型                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| 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](https://support.huaweicloud.com/devg-dws/dws_04_0603.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| indoption         | int2vector                                                                         | 存储列前标识位，该标识位是由索引的访问方法定义。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| indexprs          | pg_node_tree                                                                       | 表达式树（以nodeToString()形式表现）用于那些非简单字段引用的索引属性。它是一个列表，个数与INDKEY中的零值个数相同。如果所有索引属性都是简单的引用，则为空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| indpred           | pg_node_tree                                                                       | 部分索引谓词的表达式树（以nodeToString()的形式表现）。如果不是部分索引，则为空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| indnullstreatment | tinyint                                                                            | 表示唯一索引中NULL值的处理方式，该字段只有当indisunique为真时才起作用。 取值范围： - 0 表示NULLS DISTINCT，NULL互不相等，NULL值可重复插入。  - 1 表示NULLS NOT DISTINCT，NULL严格相等，NULL值不可重复插入。  - 2 表示NULLS IGNORE，在等值比较时忽略NULL值列。若索引列全为NULL，则NULL值可重复插入；若部分索引列为NULL，只有非NULL列不相等，才可插入。   默认值：0 说明： - 若当前集群为低版本升级到8.2.0.100及以上集群版本，对于之前已存在索引，该字段值均为NULL；对于新创建的索引，则根据\[ NULLS \[NOT\] DISTINCT \| NULLS IGNORE \]字段的指定情况确定该字段值，默认值为0。  - 若当前集群为新装的8.2.0.100及以上集群版本，对于新创建的索引，则根据\[ NULLS \[NOT\] DISTINCT \| NULLS IGNORE \]字段的指定情况确定该字段值，默认值为0。   |
   
