pg_amカタログにはインデックスアクセスメソッドの情報が格納されています。システムがサポートするそれぞれのインデックスアクセスメソッドに対し1つの行が存在します。 このカタログの中身は第49章で詳しく述べられています。
表 43-3. pg_amの列
| 名前 | 型 | 参照先 | 説明 |
|---|---|---|---|
| amname | name | アクセスメソッド名 | |
| amstrategies | int2 | このアクセスメソッド用の演算子戦略数 | |
| amsupport | int2 | このアクセスメソッド用のサポートルーチンの数 | |
| amorderstrategy | int2 | インデックスがソート順を提供しない場合はゼロ、その他の場合はソート順を記述する戦略演算子の戦略数字 | |
| amcanunique | bool | アクセスメソッドが一意インデックスをサポートするかどうか? | |
| amcanmulticol | bool | アクセスメソッドが複数列インデックスをサポートするかどうか? | |
| amoptionalkey | bool | アクセスメソッドが最初のインデックス列に対して制約無しのスキャンをサポートするかどうか? | |
| amindexnulls | bool | アクセスメソッドがインデックスエントリにNULLを許すかどうか? | |
| amstorage | bool | インデックス格納データの型を列のデータ型から変更できるか? | |
| amclusterable | bool | この型のインデックスはクラスタ可能か? | |
| aminsert | regproc | pg_proc.oid | "このタプル挿入"関数 |
| ambeginscan | regproc | pg_proc.oid | "新規スキャン開始"関数 |
| amgettuple | regproc | pg_proc.oid | "次に有効なタプル"関数 |
| amgetmulti | regproc | pg_proc.oid | "複数タプルのフェッチ"関数 |
| amrescan | regproc | pg_proc.oid | "このスキャン再開始"関数 |
| amendscan | regproc | pg_proc.oid | "このスキャン終了"関数 |
| ammarkpos | regproc | pg_proc.oid | "現在のスキャン位置記録"関数 |
| amrestrpos | regproc | pg_proc.oid | "記録したスキャン位置復元"関数 |
| ambuild | regproc | pg_proc.oid | "新規インデックスビルド"関数 |
| ambulkdelete | regproc | pg_proc.oid | バルク削除関数 |
| amvacuumcleanup | regproc | pg_proc.oid | VACUUM後クリーンアップ関数 |
| amcostestimate | regproc | pg_proc.oid | インデックススキャンのコスト推測関数 |
| amoptions | regproc | pg_proc.oid | インデックスのreloptionsを解析、検証するための関数 |