pg_am 存储有关索引访问方法的信息。系统支持的每种索引访问方法都有一行。这个表的内容在章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 的函数 |