# 51.3. 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 indexes have access methods. The requirements for index access methods are discussed in detail in [Chapter 60](https://www.postgresql.org/docs/10/static/indexam.html).

**Table 51.3. `pg_am` Columns**

| Name        | Type      | References                                                                      | Description                                                                                     |
| ----------- | --------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `oid`       | `oid`     |                                                                                 | Row identifier (hidden attribute; must be explicitly selected)                                  |
| `amname`    | `name`    |                                                                                 | Name of the access method                                                                       |
| `amhandler` | `regproc` | [`pg_proc`](https://www.postgresql.org/docs/10/static/catalog-pg-proc.html).oid | OID of a handler function that is responsible for supplying information about the access method |
| `amtype`    | `char`    |                                                                                 | Currently always `i` to indicate an index access method; other values may be allowed in future  |

## Note

Before PostgreSQL 9.6, `pg_am` contained many additional columns representing properties of index access methods. That data is now only directly visible at the C code level. However,`pg_index_column_has_property()` and related functions have been added to allow SQL queries to inspect index access method properties; see [Table 9.63](https://www.postgresql.org/docs/10/static/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.postgresql.tw/12/internals/system-catalogs/pg_am.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
