無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

47.26. pg_index

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

表 47-26. pg_index の列

名前 参照先 説明
indexrelid oid pg_class .oid このインデックスに対する pg_class 項目のOID
indrelid oid pg_class .oid このインデックスが使われるテーブルに対する pg_class 項目のOID
indnatts int2   インデックス内の列数( pg_class.relnatts の複製)
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安全性の決定を含む)無視しなければなりません。
indkey int2vector pg_attribute .attnum このインデックスがどのテーブル列をインデックスとしているかを示す indnatts 配列の値です。 例えば、 1 3 は1番目と3番目のテーブル列がインデックスキーとなっていることを示します。 この配列でゼロとなっているのは対応するインデックスの属性が単純な列参照ではなくテーブル列に渡った演算式であることを示します。
indcollation oidvector pg_collation .oid いんでっくスキー内の各列に関してここにはインデックスで使用される照合順序のOIDが含まれます。
indclass oidvector pg_opclass .oid インデックスキー内のそれぞれの列に対して、使用する演算子クラスのOIDを保持します。 pg_opclass を参照してください。
indoption int2vector   列毎のフラグビットを格納する indnatts 値の配列です。 ビットの意味はインデックスのアクセスメソッドによって定義されています。
indexprs pg_node_tree   単純な列参照でないインデックス属性の( nodeToString() 表現による)演算式ツリー。 単純な参照の場合はインデックス属性はすべてNULL。
indpred pg_node_tree   部分インデックス属性の( nodeToString() 表現による)演算式ツリー。 部分インデックスでなければNULL。

powered by SEO.CUG.NET