Add data for WAL in pg_stat_io and backend statistics
[pgsql.git] / src / include / catalog / pg_am.h
blob6e98a0930c271bb14dc8ed9784cdfbc9e9b1cd50
1 /*-------------------------------------------------------------------------
3 * pg_am.h
4 * definition of the "access method" system catalog (pg_am)
7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/catalog/pg_am.h
12 * NOTES
13 * The Catalog.pm module reads this file and derives schema
14 * information.
16 *-------------------------------------------------------------------------
18 #ifndef PG_AM_H
19 #define PG_AM_H
21 #include "catalog/genbki.h"
22 #include "catalog/pg_am_d.h" /* IWYU pragma: export */
24 /* ----------------
25 * pg_am definition. cpp turns this into
26 * typedef struct FormData_pg_am
27 * ----------------
29 CATALOG(pg_am,2601,AccessMethodRelationId)
31 Oid oid; /* oid */
33 /* access method name */
34 NameData amname;
36 /* handler function */
37 regproc amhandler BKI_LOOKUP(pg_proc);
39 /* see AMTYPE_xxx constants below */
40 char amtype;
41 } FormData_pg_am;
43 /* ----------------
44 * Form_pg_am corresponds to a pointer to a tuple with
45 * the format of pg_am relation.
46 * ----------------
48 typedef FormData_pg_am *Form_pg_am;
50 DECLARE_UNIQUE_INDEX(pg_am_name_index, 2651, AmNameIndexId, pg_am, btree(amname name_ops));
51 DECLARE_UNIQUE_INDEX_PKEY(pg_am_oid_index, 2652, AmOidIndexId, pg_am, btree(oid oid_ops));
53 MAKE_SYSCACHE(AMNAME, pg_am_name_index, 4);
54 MAKE_SYSCACHE(AMOID, pg_am_oid_index, 4);
56 #ifdef EXPOSE_TO_CLIENT_CODE
59 * Allowed values for amtype
61 #define AMTYPE_INDEX 'i' /* index access method */
62 #define AMTYPE_TABLE 't' /* table access method */
64 #endif /* EXPOSE_TO_CLIENT_CODE */
66 #endif /* PG_AM_H */