pg_indexカタログはインデックス情報の一部を保持しています。その他のほとんどの情報はpg_classにあります。
表 42-18. 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は常に真でなければなりません)。 | |
| indisclustered | bool | 真の場合はテーブルを最後にクラスタしたのはこのインデックス。 | |
| indkey | int2vector | pg_attribute.attnum | このインデックスがどのテーブル列をインデックスとしているかを示すindnatts配列の値です。例えば、1 3は1番目と3番目のテーブル列がインデックスキーとなっていることを示します。この配列でゼロとなっているのは対応するインデックスの属性が単純列参照ではなくテーブル列に渡った演算式であることを示します。 |
| indclass | oidvector | pg_opclass.oid | 演算子クラスのOIDを保持しています。詳細はpg_opclassを参照してください。 |
| indexprs | text | 単純列参照でないインデックス属性に対する(nodeToString()表現形式による)演算式ツリー。単純参照の場合は全てのインデックス属性はNULL値。
| |
| indpred | text | 部分インデックス属性に対する(nodeToString()表現形式による)演算式ツリー。部分インデックスでなければNULL値。
|