pg_index
目录pg_index包含关于索引的部分信息。其他信息大部分在pg_class中。
英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- kind
- catalog
- lang
- en
- measured attributes
- true
- metadata release
- 18.6
- runtime verified
- false
- source
- english-manual
版本定义 PG 18
目录pg_index包含关于索引的部分信息。其他信息大部分在pg_class中。
目录列
| 列 | 类型 | 可空性 | 描述 |
|---|---|---|---|
| indexrelid | oid | 非空 | 此索引的pg_class项的OID |
| indrelid | oid | 非空 | 此索引所对应的基表的pg_class项的OID |
| indnatts | int2 | 非空 | 索引中的总列数(与pg_class.relnatts重复);此数目包括键属性和内含属性 |
| indnkeyatts | int2 | 非空 | 索引中键列的数量,不计内含列;内含列仅被存储,不参与索引语义 |
| indisunique | bool | 非空 | 如为真,这是唯一索引 |
| indnullsnotdistinct | bool | 非空 | 该值只用于唯一索引。如果为 false,则该唯一索引会将 null 值视为彼此不同(因此索引的某一列中可以包含多个 null 值,这是 PostgreSQL 的默认行为)。如果为 true,则会将 null 值视为相等(因此索引的某一列中只能包含一个 null 值)。 |
| indisprimary | bool | 非空 | 如为真,表示索引为表的主键(如果此列为真,indisunique也总是为真) |
| indisexclusion | bool | 非空 | 如为真,此索引支持一个排他约束 |
| indimmediate | bool | 非空 | 如为真,唯一性检查在插入时立即被执行(如果indisunique为假,此列无关) |
| indisclustered | bool | 非空 | 如果为真,表示表最后以此索引进行了聚簇 |
| indisvalid | bool | 非空 | 如果为真,此索引当前可用于查询。为假表示索引可能不完整:INSERT/UPDATE 操作仍必须修改该索引,但查询不能安全地使用它。如果它是唯一索引,其唯一性也无法保证。 |
| indcheckxmin | bool | 非空 | 如果为真,查询必须等到此 pg_index 行的 xmin 低于这些查询的 TransactionXmin 事件视界后,才能使用该索引,因为表中可能有断裂的HOT 链,其中包含这些查询可见的不兼容行 |
| indisready | bool | 非空 | 如果为真,表示此索引当前可以用于插入。为假表示索引必须被INSERT/UPDATE操作忽略。 |
| indislive | bool | 非空 | 如果为假,索引正处于被删除过程中,并且必须被所有处理忽略(包括HOT安全的决策) |
| indisreplident | bool | 非空 | 如果为真,此索引已通过 ALTER TABLE ... REPLICA IDENTITY USING INDEX ... 被选作“复制标识” |
| indkey | int2vector | 非空 | 这是一个包含 indnatts 个值的数组,指明此索引为哪些表列建立索引。例如,值 1 3 表示表的第一列和第三列组成索引条目。键列位于非键(内含)列之前。数组中的零表示相应的索引属性是基于表列的表达式,而非简单的列引用。 |
| indcollation | oidvector | 非空 | 对于索引键(indnkeyatts 个值)中的每一列,这包含要用于该索引的排序规则的OID,如果该列的数据类型不支持排序规则则为零。 |
| indclass | oidvector | 非空 | 对于索引键中的每一列(indnkeyatts 个值),这里包含了要使用的操作符类的OID。详见pg_opclass。 |
| indoption | int2vector | 非空 | 这是一个包含 indnkeyatts 个值的数组,存储各列的标志位。各位的含义由索引的访问方法定义。 |
| indexprs | pg_node_tree | 可空 | 非简单列引用的索引属性所对应的表达式树(以 nodeToString() 表示)。这是一个列表,indkey 中的每个零值条目在此都有一个对应元素。如果所有索引属性都是简单列引用,则为 NULL。 |
| indpred | pg_node_tree | 可空 | 部分索引谓词的表达式树(以nodeToString()形式)。如果不是部分索引,此列为 NULL。 |
比较版本
完整来源事实
runtime columns
indexrelid, indrelid, indnatts, indnkeyatts, indisunique, indnullsnotdistinct, indisprimary, indisexclusion, indimmediate, indisclustered, indisvalid, indcheckxmin, indisready, indislive, indisreplident, indkey, indcollation, indclass, indoption, indexprs, indpred
来源引用
定义来源
center · PostgreSQL 18 · english-manuals:d827eeb0cb1d238c33ff0338ee38331739e0af33fb6527d464aa32d46030c640
正文语言: zh-Hans · 2026-09-27@419045e