PG_AM¶
PG_AM records information about index access methods. There is one row for each index access method supported by the system.
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 |