44.19. pg_index

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

表 44-19. pg_indexの列

名前参照先説明
indexrelidoidpg_class.oidインデックス用のpg_classエントリのOID
indrelidoidpg_class.oidこのインデックスが使われるテーブル用のpg_classエントリのOID
indnattsint2 インデックス内の列数(pg_class.relnatts の複製)
indisuniquebool 真の場合は一意のインデックス
indisprimarybool  真の場合このインデックスはテーブルの主キーを表します(この値が真の時indisuniqueは常に真でなければなりません)。
indisclusteredbool 真の場合はテーブルを最後にクラスタしたのはこのインデックス。
indisvalidbool 真の場合、現在このインデックスは問い合わせに対して有効です。 偽は、インデックスが不完全かもしれないことを意味します。 INSERT/UPDATE操作による変更が行われているはずで、問い合わせに使用するには安全ではありません。 一意性インデックスであれば、一意性も確実ではありません。
indcheckxminbool  真の場合、pg_index行のxminがTransactionXminイベント境界値を下回るまで、問い合わせはインデックスを使用してはいけません。なぜなら、テーブルは互換性の無い行と共に破壊されたHOT chainsを含んでいるかもしれないからです。
indisreadybool  真の場合、インデックスは挿入に対して準備が出来ています。Falseの場合はインデックスは means theINSERT/UPDATEにより無視されなければいけません。 operations
indkeyint2vectorpg_attribute.attnum このインデックスがどのテーブル列をインデックスとしているかを示すindnatts配列の値です。例えば、1 3は1番目と3番目のテーブル列がインデックスキーとなっていることを示します。この配列でゼロとなっているのは対応するインデックスの属性が単純列参照ではなくテーブル列に渡った演算式であることを示します。
indclassoidvectorpg_opclass.oidインデックスキー内のそれぞれの列に対して、演算子クラスのOIDを保持しています。詳細はpg_opclassを参照してください。
indoptionint2vector  列ごとのフラグビットを格納しているindnatts値の配列です。ビットの意味は、インデックスのアクセスメソッドによって定義されています。
indexprstext  単純列参照でないインデックス属性に対する(nodeToString()表現形式による)演算式ツリー。単純参照の場合は全てのインデックス属性はNULL値。
indpredtext  部分インデックス属性に対する(nodeToString()表現形式による)演算式ツリー。部分インデックスでなければNULL値。
アダルトレンタルサーバー