PostgreSQL Source Code  git master
pg_extension.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_extension.h
4  * definition of the "extension" system catalog (pg_extension)
5  *
6  *
7  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/catalog/pg_extension.h
11  *
12  * NOTES
13  * The Catalog.pm module reads this file and derives schema
14  * information.
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef PG_EXTENSION_H
19 #define PG_EXTENSION_H
20 
21 #include "catalog/genbki.h"
22 #include "catalog/pg_extension_d.h"
23 
24 /* ----------------
25  * pg_extension definition. cpp turns this into
26  * typedef struct FormData_pg_extension
27  * ----------------
28  */
29 CATALOG(pg_extension,3079,ExtensionRelationId)
30 {
31  Oid oid; /* oid */
32  NameData extname; /* extension name */
33  Oid extowner BKI_LOOKUP(pg_authid); /* extension owner */
34  Oid extnamespace BKI_LOOKUP(pg_namespace); /* namespace of
35  * contained objects */
36  bool extrelocatable; /* if true, allow ALTER EXTENSION SET SCHEMA */
37 
38 #ifdef CATALOG_VARLEN /* variable-length fields start here */
39  /* extversion may never be null, but the others can be. */
40  text extversion BKI_FORCE_NOT_NULL; /* extension version name */
41  Oid extconfig[1] BKI_LOOKUP(pg_class); /* dumpable configuration
42  * tables */
43  text extcondition[1]; /* WHERE clauses for config tables */
44 #endif
46 
47 /* ----------------
48  * Form_pg_extension corresponds to a pointer to a tuple with
49  * the format of pg_extension relation.
50  * ----------------
51  */
53 
54 DECLARE_TOAST(pg_extension, 4147, 4148);
55 
56 DECLARE_UNIQUE_INDEX_PKEY(pg_extension_oid_index, 3080, ExtensionOidIndexId, pg_extension, btree(oid oid_ops));
57 DECLARE_UNIQUE_INDEX(pg_extension_name_index, 3081, ExtensionNameIndexId, pg_extension, btree(extname name_ops));
58 
59 #endif /* PG_EXTENSION_H */
#define BKI_LOOKUP(catalog)
Definition: genbki.h:46
#define BKI_FORCE_NOT_NULL
Definition: genbki.h:33
DECLARE_UNIQUE_INDEX_PKEY(pg_extension_oid_index, 3080, ExtensionOidIndexId, pg_extension, btree(oid oid_ops))
CATALOG(pg_extension, 3079, ExtensionRelationId)
Definition: pg_extension.h:29
DECLARE_TOAST(pg_extension, 4147, 4148)
FormData_pg_extension * Form_pg_extension
Definition: pg_extension.h:52
DECLARE_UNIQUE_INDEX(pg_extension_name_index, 3081, ExtensionNameIndexId, pg_extension, btree(extname name_ops))
FormData_pg_extension
Definition: pg_extension.h:45
unsigned int Oid
Definition: postgres_ext.h:31
Definition: c.h:741
Definition: c.h:687