PG_AM

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

表 1 PG_AM字段

名称

类型

引用

描述

oid

oid

-

行标识符(隐藏属性,必须明确选择)。

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的函数。