↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本PostgreSQL 12 已于 2024 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

51.26. pg_index #

目录 pg_index 包含关于索引的部分信息。其他信息大部分在 pg_class 中。

表 51.26. pg_index 列

名称 类型 引用 描述
indexrelid oid pg_class.oid 此索引的 pg_class 项的 OID
indrelid oid pg_class.oid 此索引所对应的基表的 pg_class 项的 OID
indnatts int2   索引中的总列数(与 pg_class.relnatts 重复);此数目包括键属性和内含属性
indnkeyatts int2   索引中键列的数量,不计内含列;内含列仅被存储,不参与索引语义
indisunique bool   如为真,这是唯一索引
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 pg_attribute.attnum 这是一个包含 indnatts 个值的数组,指明此索引为哪些表列建立索引。例如,值 1 3 表示表的第一列和第三列组成索引条目。键列位于非键(内含)列之前。数组中的零表示相应的索引属性是基于表列的表达式,而非简单的列引用。
indcollation oidvector pg_collation.oid 对于索引键(indnkeyatts 个值)中的每一列,这包含要用于该索引的排序规则的 OID,如果该列的数据类型不支持排序规则则为零。
indclass oidvector pg_opclass.oid 对于索引键中的每一列(indnkeyatts 个值),这里包含了要使用的操作符类的 OID。详见 pg_opclass。
indoption int2vector   这是一个包含 indnkeyatts 个值的数组,存储各列的标志位。各位的含义由索引的访问方法定义。
indexprs pg_node_tree   非简单列引用的索引属性所对应的表达式树(以 nodeToString() 表示)。这是一个列表,indkey 中的每个零值条目在此都有一个对应元素。如果所有索引属性都是简单列引用,则为 NULL。
indpred pg_node_tree   部分索引谓词的表达式树(以 nodeToString() 形式)。如果不是部分索引,此列为 NULL。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。