★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 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

52.26. pg_index

pg_indexカタログはインデックス情報の一部を保持します。 その他のほとんどの情報はpg_classにあります。

表52.26 pg_indexの列

名前参照先説明
indexrelidoidpg_class.oidこのインデックスに対するpg_class項目のOID
indrelidoidpg_class.oidこのインデックスが使われるテーブルに対するpg_class項目のOID
indnattsint2 インデックス内の列数(pg_class.relnattsの複製)
indnkeyattsint2 格納されているだけで、インデックスのセマンティクスに寄与していないincluded columnsを含まないインデックス内のkey columnsの数。
indisuniquebool 真の場合は一意性インデックス
indisprimarybool  真の場合このインデックスはテーブルの主キーを表します (この値が真の時indisuniqueは常に真でなければなりません)。
indisexclusionbool 真の場合、このインデックスは排他制約をサポートします。
indimmediatebool  真の場合、一意性検査が挿入時即座に強制されます。 (indisuniqueが真でなければ無関係です。)
indisclusteredbool 真の場合、前回このインデックスを元にテーブルはクラスタ化されました。
indisvalidbool  真の場合、現在このインデックスは問い合わせに対して有効です。 偽は、インデックスが不完全かもしれないことを意味します。 INSERT/UPDATE操作による変更が行われているはずで、問い合わせに使用するには安全ではありません。 一意性インデックスであれば、一意性も保証されません。
indcheckxminbool  真の場合、pg_index行のxminTransactionXminイベント境界値を下回るまで、問い合わせはインデックスを使用してはいけません。 なぜなら、テーブルは互換性の無い行と共に破壊されたHOTチェインを含み、それらが可視であるかもしれないからです。
indisreadybool  真の場合、インデックスは挿入に対する準備ができています。 偽の場合はインデックスはINSERT/UPDATE操作により無視されなければならないことを意味します。
indislivebool  偽の場合、インデックスの削除処理が進行中であり、このためすべての目的において(HOT安全性の決定を含む)無視しなければなりません。
indisreplidentbool  真の場合、このインデックスはALTER TABLE ... REPLICA IDENTITY USING INDEX ...を用いてreplica identityが選択されます。
indkeyint2vectorpg_attribute.attnum このインデックスがどのテーブル列をインデックスとしているかを示すindnatts配列の値です。 例えば、1 3は1番目と3番目のテーブル列がインデックスキーとなっていることを示します。 キー列は、(INCLUDE句で指定した)非キー列の前に来ます。 この配列でゼロとなっているのは対応するインデックスの属性が単純な列参照ではなくテーブル列に渡った演算式であることを示します。
indcollationoidvectorpg_collation.oid インデックスキー(indnkeyattsの値)内の各列に関してここにはインデックスで使用される照合順序のOIDが含まれます。 照合できないデータ型の列ではゼロが入ります。
indclassoidvectorpg_opclass.oid インデックスキー(indnkeyattsの値)内のそれぞれの列に対して、使用する演算子クラスのOIDを保持します。 pg_opclassを参照してください。
indoptionint2vector  列毎のフラグビットを格納するindnkeyatts値の配列です。 ビットの意味はインデックスのアクセスメソッドによって定義されています。
indexprspg_node_tree  単純な列参照でないインデックス属性の(nodeToString()表現による)演算式ツリー。 単純な参照の場合はインデックス属性はすべてNULL。
indpredpg_node_tree  部分インデックス属性の(nodeToString()表現による)演算式ツリー。 部分インデックスでなければNULL。