pg_index はインデックスの情報の一部を保持しています。その他のほとんどの情報は pg_class にあります。
Table 3-16. pg_index の列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
indexrelid | oid | pg_class.oid | インデックス用の pg_class 内容の OID |
indrelid | oid | pg_class.oid | このインデックスが使われるテーブル用の pg_class 内容の OID |
indproc | regproc | pg_proc.oid | もしこれが関数インデックスならば関数の OIDで、そうでなければゼロ |
indkey | int2vector | pg_attribute.attnum | このインデックスがどのテーブルの列まで対応しているかを示す INDEX_MAX_KEYS の値までのベクトル(配列)。たとえば、1 3 は 1 番目と 3 番目の列がインデックスキーとなっていることを示します。 関数インデックスでは、これらの列は関数に対する入力で、関数の戻り値はインデックスキーです。 |
indclass | oidvector | pg_opclass.oid | インデックスキーのそれぞれの列に対して、使用すする "operator class" への参照を保持しています。詳細は pg_opclass を参照してください。 |
indisclustered | bool | 真の場合は、テーブルを最後にクラスタしたのはこのインデックス。 | |
indisunique | bool | 真の場合は一意のインデックス。 | |
indisprimary | bool | 真であるならばこれはテーブルの主キー。 (この値が真のとき indisunique は常に真でなければなりません。) | |
indreference | oid | 使用されていません | |
indpred | text | 部分インデックス属性に対する(nodeToString 表現形式による)式ツリー。 部分インデックスでなければ空の文字列。 |