PG_AM系统表存储有关索引访问方法的信息。系统支持的每种索引访问方法都有一行。

    表 1 PG_AM字段

    名称

    类型

    引用

    描述

    amname

    name

    -

    访问方法的名称。

    amstrategies

    smallint

    -

    访问方法的操作符策略个数,或者如果访问方法没有一个固定的操作符策略集则为0。

    amsupport

    smallint

    -

    访问方法的支持过程个数。

    amcanorder

    Boolean

    -

    这种访问方式是否支持通过索引字段值的命令扫描排序。

    amcanorderbyop

    Boolean

    -

    这种访问方式是否支持通过索引字段上操作符的结果的命令扫描排序。

    amcanbackward

    Boolean

    -

    访问方式是否支持向后扫描。

    amcanunique

    Boolean

    -

    访问方式是否支持唯一索引。

    amcanmulticol

    Boolean

    -

    访问方式是否支持多字段索引。

    amoptionalkey

    Boolean

    -

    访问方式是否支持第一个索引字段上没有任何约束的扫描。

    amsearcharray

    Boolean

    -

    访问方式是否支持ScalarArrayOpExpr搜索。

    amsearchnulls

    Boolean

    -

    访问方式是否支持IS NULL/NOT NULL搜索。

    amstorage

    Boolean

    -

    允许索引存储的数据类型与列的数据类型是否不同。

    amclusterable

    Boolean

    -

    是否允许在一个这种类型的索引上数据库。

    ampredlocks

    Boolean

    -

    是否允许这种类型的一个索引管理细粒度的谓词锁定。

    amkeytype

    oid

    PG_TYPE.oid

    存储在索引里数据的类型,如果不是一个固定的类型则为0。

    aminsert

    regproc

    PG_PROC.proname

    “插入这个行”函数。

    ambeginscan

    regproc

    PG_PROC.proname

    “准备索引扫描” 函数。

    amgettuple

    regproc

    PG_PROC.proname

    “下一个有效行”函数,如果没有则为0。

    amgetbitmap

    regproc

    PG_PROC.proname

    “抓取所有的有效行” 函数,如果没有则为0。

    amrescan

    regproc

    PG_PROC.proname

    “(重新)开始索引扫描”函数。

    amendscan

    regproc

    PG_PROC.proname

    “索引扫描后清理” 函数。

    ammarkpos

    regproc

    PG_PROC.proname

    “标记当前扫描位置”函数。

    amrestrpos

    regproc

    PG_PROC.proname

    “恢复已标记的扫描位置”函数。

    ammerge

    regproc

    PG_PROC.proname

    “归并多个索引对象”函数。

    ambuild

    regproc

    PG_PROC.proname

    “建立新索引”函数。

    ambuildempty

    regproc

    PG_PROC.proname

    “建立空索引”函数。

    ambulkdelete

    regproc

    PG_PROC.proname

    批量删除函数。

    amvacuumcleanup

    regproc

    PG_PROC.proname

    VACUUM后的清理函数。

    amcanreturn

    regproc

    PG_PROC.proname

    检查是否索引支持唯一索引扫描的函数,如果没有则为0。

    amcostestimate

    regproc

    PG_PROC.proname

    估计一个索引扫描开销的函数。

    amoptions

    regproc

    PG_PROC.proname

    为一个索引分析和确认reloptions的函数。