2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 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

52.26. pg_index #

目錄 pg_index 包含有關索引的部分資訊。其餘大部分在 pg_class 中。

表 52.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

如果為真,則這是一個唯一索引。

indnullsnotdistinct bool

此值僅用於唯一索引。如果為 false,則此唯一索引會將 NULL 值視為不同(因此索引可以在列中包含多個 NULL 值,這是 PostgreSQL 的預設行為)。如果為 true,則會將 NULL 值視為相等(因此索引只能在一個列中包含一個 NULL 值)。

indisprimary bool

如果為真,則此索引代表表的主鍵(當此值為真時,indisunique 應始終為真)。

indisexclusion bool

如果為真,則此索引支援排除約束。

indimmediate bool

如果為真,則唯一性檢查會在插入時立即強制執行(如果 indisunique 不為真,則此項無效)。

indisclustered bool

如果為真,則表最後是根據此索引聚類的。

indisvalid bool

如果為真,則索引當前對查詢有效。False 表示索引可能不完整:它仍然需要由 INSERT/UPDATE 操作進行修改,但不能安全地用於查詢。如果它是唯一的,則唯一性屬性也不能保證為真。

indcheckxmin bool

如果為真,則查詢不應使用索引,直到此 pg_index 行的 xmin 低於其 TransactionXmin 事件視界,因為該表可能包含具有不相容行的損壞 HOT 鏈,而這些行是可被查詢看到的。

indisready bool

如果為真,則索引當前準備好接受插入。False 表示 INSERT/UPDATE 操作應忽略此索引。

indislive bool

如果為 false,則索引正在被刪除,並且應被忽略(包括 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。


提交更正

如果您在文件中發現任何不正確、不符合您對特定功能的經驗或需要進一步澄清的內容,請使用 此表格 報告文件問題。