pg_index

PostgreSQL 8.4.1文書
前のページ | 巻戻し | 第 44章システムカタログ | 早送り | 次のページ

# 44.20. `pg_index`

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

表 44-20. `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` |  | 真の場合はテーブルを最後にクラスタしたのはこのインデックス。
`indisvalid` | `bool` |  | 真の場合、現在このインデックスは問い合わせに対して有効です。 偽は、インデックスが不完全かもしれないことを意味します。 `INSERT`/`UPDATE`操作による変更が行われているはずで、問い合わせに使用するには安全ではありません。 一意性インデックスであれば、一意性も確実ではありません。
`indcheckxmin` | `bool` |  | 真の場合、`pg_index`行の`xmin`がTransactionXminイベント境界値を下回るまで、問い合わせはインデックスを使用してはいけません。なぜなら、テーブルは互換性の無い行と共に破壊されたHOT chainsを含んでいるかもしれないからです。
`indisready` | `bool` |  | 真の場合、インデックスは挿入に対して準備が出来ています。Falseの場合はインデックスは means the`INSERT`/`UPDATE`により無視されなければいけません。 operations
`indkey` | `int2vector` | ``pg_attribute`.attnum` | このインデックスがどのテーブル列をインデックスとしているかを示す`indnatts`配列の値です。例えば、`1 3`は1番目と3番目のテーブル列がインデックスキーとなっていることを示します。この配列でゼロとなっているのは対応するインデックスの属性が単純列参照ではなくテーブル列に渡った演算式であることを示します。
`indclass` | `oidvector` | ``pg_opclass`.oid` | インデックスキー内のそれぞれの列に対して、演算子クラスのOIDを保持しています。詳細は`pg_opclass`を参照してください。
`indoption` | `int2vector` |  | 列ごとのフラグビットを格納している`indnatts`値の配列です。ビットの意味は、インデックスのアクセスメソッドによって定義されています。
`indexprs` | `text` |  | 単純列参照でないインデックス属性に対する（`nodeToString()`表現形式による）演算式ツリー。単純参照の場合は全てのインデックス属性はNULL値。
`indpred` | `text` |  | 部分インデックス属性に対する（`nodeToString()`表現形式による）演算式ツリー。部分インデックスでなければNULL値。

前のページ | ホーム | 次のページ
`pg_foreign_server` | 上に戻る | `pg_inherits`