pg_ampg_amカタログにはインデックスアクセスメソッドの情報が格納されます。
システムがサポートするインデックスアクセスメソッド毎に1つの行が存在します。
このカタログの内容については58章インデックスアクセスメソッドのインタフェース定義で詳しく説明します。
表49.3 pg_amの列
| 名前 | 型 | 参照先 | 説明 |
|---|---|---|---|
oid | oid | 行識別子(隠し属性です。明示的に選択しなければなりません) | |
amname | name | アクセスメソッド名 | |
amstrategies | int2 | このアクセスメソッド用の演算子戦略番号。 もしアクセスメソッドが固定された演算子戦略群を持たない場合はゼロ | |
amsupport | int2 | このアクセスメソッド用のサポートルーチンの数 | |
amcanorder | bool | アクセスメソッドは、インデックス列の値によってソートされた順序付けスキャンをサポートしているか? | |
amcanorderbyop | bool | アクセスメソッドは、インデックス列に対する演算子の結果によってソートされた順序付けスキャンをサポートしているか? | |
amcanbackward | bool | アクセスメソッドは後方スキャンをサポートしているか? | |
amcanunique | bool | アクセスメソッドが一意インデックスをサポートするかどうか? | |
amcanmulticol | bool | アクセスメソッドが複数列インデックスをサポートするかどうか? | |
amoptionalkey | bool | アクセスメソッドが最初のインデックス列に対して制約無しのスキャンをサポートするかどうか? | |
amsearcharray | bool | アクセスメソッドはScalarArrayOpExpr検索をサポートするかどうか? | |
amsearchnulls | bool | アクセスメソッドはIS NULL/NOT NULL検索をサポートしているか? | |
amstorage | bool | インデックス格納データの型を列のデータ型から変更できるか? | |
amclusterable | bool | この型のインデックスはクラスタ可能か? | |
ampredlocks | bool | この種類のインデックスが細粒度の述部ロックを管理するか? | |
amkeytype | oid | | インデックス内に保存されたデータ型、もしくは固定型ではない場合はゼロ |
aminsert | regproc | | 「このタプルを挿入する」関数 |
ambeginscan | regproc | | 「インデックススキャンを準備する」関数 |
amgettuple | regproc | | 「次に有効なタプル」関数。存在しない場合はゼロ |
amgetbitmap | regproc | | 「有効なタプルをすべて取り出す」関数。存在しない場合はゼロ |
amrescan | regproc | | 「インデックススキャンを(再)開始する」関数 |
amendscan | regproc | | 「インデックススキャン後の整理」関数 |
ammarkpos | regproc | | 「現在のスキャン位置を記録する」関数 |
amrestrpos | regproc | | 「記録したスキャン位置に復元する」関数 |
ambuild | regproc | | 「新規インデックスを構築する」関数 |
ambuildempty | regproc | | 「空のインデックスを構築する」関数 |
ambulkdelete | regproc | | 一括削除関数 |
amvacuumcleanup | regproc | | VACUUM後の消去関数 |
amcanreturn | regproc | | インデックスの列がインデックスオンリースキャンをサポートするかどうかを検査する関数。インデックスオンリースキャンがサポートされていなければゼロのこともある。 |
amcostestimate | regproc | | インデックススキャンのコスト推測関数 |
amoptions | regproc | | インデックスのreloptionsを解析、検証する関数 |