Skip to content
← Catalog atlas / pg_am

SYSTEM CATALOG · System catalog

pg_am

The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 62 and Chapter 63 respectively.

First seen PG 9.0Last seen PG 19Columns 4

Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗

Columns PostgreSQL 18

pg_am
COLUMNTYPEDESCRIPTION
oid oidNOT NULL Row identifier
amname nameNOT NULL Name of the access method
amhandler regprocNOT NULL OID of a handler function that is responsible for supplying information about the access methodReferences:pg_proc.oid
amtype "char"NOT NULLDocumented as:char t = table (including materialized views), i = index.

Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.

Common system columns 6

System attributes PostgreSQL provides, normally not expanded by SELECT *. Kept separately so they are not mixed in with ordinary columns.

ColumnsTypeattnum
tableoidoid-6
cmaxcid-5
xmaxxid-4
cmincid-3
xminxid-2
ctidtid-1

Column evolution matrix

Hover a cell for the column type
PresentAdded / type or attribute changeRemoved
COLUMN9.09.19.29.39.49.59.610111213141516171819
oid
amname
amstrategies
amsupport
amcanorder
amcanbackward
amcanunique
amcanmulticol
amoptionalkey
amindexnulls
amsearchnulls
amstorage
amclusterable
amkeytype
aminsert
ambeginscan
amgettuple
amgetbitmap
amrescan
amendscan
ammarkpos
amrestrpos
ambuild
ambulkdelete
amvacuumcleanup
amcostestimate
amoptions
amcanorderbyop
ampredlocks
ambuildempty
amsearcharray
amcanreturn
amhandler
amtype

9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.

Evolution timeline

Changes between adjacent majors

PostgreSQL 18 ← 17

Catalog description updated

PostgreSQL 17 ← 16

Catalog description updated

PostgreSQL 15 ← 14

Catalog description updated

PostgreSQL 14 ← 13

Catalog description updated

PostgreSQL 12 ← 11

~ oid: implicit → ordinary2 column description updatesCatalog description updated

PostgreSQL 11 ← 10

Catalog description updated

PostgreSQL 10 ← 9.6

Catalog description updated

PostgreSQL 9.6 ← 9.5

+ amhandler+ amtype− amstrategies− amsupport− amcanorder− amcanorderbyop− amcanbackward− amcanunique− amcanmulticol− amoptionalkey− amsearcharray− amsearchnulls− amstorage− amclusterable− ampredlocks− amkeytype− aminsert− ambeginscan− amgettuple− amgetbitmap− amrescan− amendscan− ammarkpos− amrestrpos− ambuild− ambuildempty− ambulkdelete− amvacuumcleanup− amcanreturn− amcostestimate− amoptionsCatalog description updated

PostgreSQL 9.5 ← 9.4

1 column description updatesCatalog description updated

PostgreSQL 9.4 ← 9.3

Catalog description updated

PostgreSQL 9.3 ← 9.2

1 column description updatesCatalog description updated

PostgreSQL 9.2 ← 9.1

+ amsearcharray+ amcanreturn

PostgreSQL 9.1 ← 9.0

+ amcanorderbyop+ ampredlocks+ ambuildempty− amindexnulls4 column description updatesCatalog description updated

Compare any two versions

Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.