PG_AM

PG_AM records information about index access methods. There is one row for each index access method supported by the system.

Table 1 PG_AM columns

Name

Type

Reference

Description

oid

oid

-

Row identifier (hidden attribute; must be explicitly selected)

amname

name

-

Name of the access method

amstrategies

smallint

-

Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies

amsupport

smallint

-

Number of support routines for this access method

amcanorder

boolean

-

Whether the access method supports ordered scans sorted by the indexed column's value

amcanorderbyop

boolean

-

Whether the access method supports ordered scans sorted by the result of an operator on the indexed column

amcanbackward

boolean

-

Whether the access method supports backward scanning

amcanunique

boolean

-

Whether the access method supports unique indexes

amcanmulticol

boolean

-

Whether the access method supports multi-column indexes

amoptionalkey

boolean

-

Whether the access method supports a scan without any constraint for the first index column

amsearcharray

boolean

-

Whether the access method supports ScalarArrayOpExpr searches

amsearchnulls

boolean

-

Whether the access method supports IS NULL/NOT NULL searches

amstorage

boolean

-

Whether an index storage data type can differ from a column data type

amclusterable

boolean

-

Whether an index of this type can be clustered on

ampredlocks

boolean

-

Whether an index of this type manages fine-grained predicate locks

amkeytype

oid

PG_TYPE.oid

Type of data stored in index, or zero if not a fixed type

aminsert

regproc

PG_PROC.oid

"Insert this tuple" function

ambeginscan

regproc

PG_PROC.oid

"Prepare for index scan" function

amgettuple

regproc

PG_PROC.oid

"Next valid tuple" function, or zero if none

amgetbitmap

regproc

PG_PROC.oid

"Fetch all valid tuples" function, or zero if none

amrescan

regproc

PG_PROC.oid

"(Re)start index scan" function

amendscan

regproc

PG_PROC.oid

"Clean up after index scan" function

ammarkpos

regproc

PG_PROC.oid

"Mark current scan position" function

amrestrpos

regproc

PG_PROC.oid

"Restore marked scan position" function

ammerge

regproc

PG_PROC.oid

"Merge multiple indexes" function

ambuild

regproc

PG_PROC.oid

"Build new index" function

ambuildempty

regproc

PG_PROC.oid

"Build empty index" function

ambulkdelete

regproc

PG_PROC.oid

Bulk-delete function

amvacuumcleanup

regproc

PG_PROC.oid

Post-VACUUM cleanup function

amcanreturn

regproc

PG_PROC.oid

Function to check whether index supports index-only scans, or zero if none

amcostestimate

regproc

PG_PROC.oid

Function to estimate cost of an index scan

amoptions

regproc

PG_PROC.oid

Function to parse and validate reloptions for an index