51.26 pg_index

目錄 pg_index 包含有關索引的部分信息。其餘的大多數是在 pg_class 中。

Table 51.26. pg_index Columns

Name

Type

References

Description

indexrelid

oid

pg_class.oid

此索引在 pg_class 中的 OID

indrelid

oid

pg_class.oid

此索引對應資料表在 pg_class 中的 OID

indnatts

int2

索引中的欄位數(複製自 pg_class.relnatts)

indisunique

bool

如果為 true,則這是唯一性索引

indisprimary

bool

如果為 true,則此索引表示資料表的主鍵(如果為 true,則 indisunique 應始終為true)

indisexclusion

bool

如果為 true,則此索引支援排除限制條件

indimmediate

bool

如果為 true,則在插入時立即強制執行唯一性檢查(如果 indisunique 不成立則無關緊要)

indisclustered

bool

If true, the table was last clustered on this index

indisvalid

bool

如果為 true,則索引目前對查詢有效。False 意味著索引可能不完整:它仍然必須通過 INSERT / UPDATE 操作進行修改,但它不能安全地用於查詢。 如果它是唯一的,則唯一性屬性也不保證是真的。

indcheckxmin

bool

如果為 true,則查詢必須不使用索引,直到此 pg_index 資料列的 xmin 低於其 TransactionXmin 事務範圍,因為可以看到該資料表可能包含具有不相容資料列的損壞 HOT 鏈

indisready

bool

如果為 true,則索引目前已準備好進行插入。False 表示 INSERT / UPDATE 操作必須忽略索引。

indislive

bool

如果為 false,則索引正在被移除,並且應該被忽略用於所有目的(包括 HOT-safety 決策)

indisreplident

bool

If true this index 已使用 ALTER TABLE ... REPLICA IDENTITY 選擇“replica identity”...

indkey

int2vector

pg_attribute.attnum

這是一個 indnatts 陣列,意指此索引所索引的資料表欄位。例如,值為 1 3 意味著第一個和第三個資料表欄位構成索引鍵。此陣列中的零表示相應的索引屬性是資料表欄位上的表示式,而不是簡單的欄位引用。

indcollation

oidvector

pg_collation.oid

對於索引鍵中的每一個欄位,它包含用於索引的排序規則的 OID,如果該欄位不是可合併的資料型別,則為零。

indclass

oidvector

pg_opclass.oid

對於索引鍵中的每一欄位,它包含要使用的運算子類的 OID。有關詳細訊息,請參閱 pg_opclass

indoption

int2vector

這是一個 indnatts 陣列,用於儲存每個欄位的旗標位元。位元的意義由索引的存取方法定義。

indexprs

pg_node_tree

表示式樹(以 nodeToString() 表示),用於不是簡單欄位引用的索引屬性。這是一個列表,其中包含 indkey 中每個零項目的一個元素。如果所有索引屬性都是簡單引用,則為空。

indpred

pg_node_tree

部分索引條件的表示式樹(以 nodeToString() 表示)。如果不是部分索引,則為空。