pg_index カタログはインデックス情報の一部を保持しています。その他のほとんどの情報は pg_class にあります。
表 43-16. pg_index Columns
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
indexrelid | oid | pg_class.oid | インデックス用の pg_class エントリの OID |
indrelid | oid | pg_class.oid | このインデックスが使われるテーブル用の pg_class エントリの OID |
indkey | int2vector | pg_attribute.attnum | このインデックスがどのテーブル列をインデックスとしているかを示す(INDEX_MAX_KEYS)までの indnatts 配列の値です。たとえば、1 3 は 1 番目と 3 番目のテーブル列がインデックスキーとなっていることを示します。この配列でゼロとなっているのは対応するインデックスの属性が単純列参照ではなくテーブル列にわたった演算式であることを示します。 |
indclass | oidvector | pg_opclass.oid | 演算子クラスのOIDを保持しています。詳細は pg_opclass を参照してください。 |
indnatts | int2 | インデックス内の列数(pg_class.relnatts の複製) | |
indisunique | bool | 真の場合は一意のインデックス | |
indisprimary | bool | 真の場合このインデックスはテーブルの主キーを表します。(この値が真のとき indisunique は常に真でなければなりません。) | |
indisclustered | bool | 真の場合はテーブルを最後にクラスタしたのはこのインデックス。 | |
indexprs | text | 単純列参照でないインデックス属性に対する(nodeToString() 表現形式による)演算式ツリー。単純参照の場合は全てのインデックス属性は NULL 値。 | |
indpred | text | 部分インデックス属性に対する(nodeToString() 表現形式による)演算式ツリー。部分インデックスでなければ NULL 値。 |