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 system "extension" relation (pg_extension)
5  * along with the relation's initial contents.
6  *
7  *
8  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
9  * Portions Copyright (c) 1994, Regents of the University of California
10  *
11  * src/include/catalog/pg_extension.h
12  *
13  * NOTES
14  * the genbki.pl script reads this file and generates .bki
15  * information from the DATA() statements.
16  *
17  *-------------------------------------------------------------------------
18  */
19 #ifndef PG_EXTENSION_H
20 #define PG_EXTENSION_H
21 
22 #include "catalog/genbki.h"
23 
24 /* ----------------
25  * pg_extension definition. cpp turns this into
26  * typedef struct FormData_pg_extension
27  * ----------------
28  */
29 #define ExtensionRelationId 3079
30 
31 CATALOG(pg_extension,3079)
32 {
33  NameData extname; /* extension name */
34  Oid extowner; /* extension owner */
35  Oid extnamespace; /* namespace of 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]; /* dumpable configuration tables */
42  text extcondition[1]; /* WHERE clauses for config tables */
43 #endif
45 
46 /* ----------------
47  * Form_pg_extension corresponds to a pointer to a tuple with
48  * the format of pg_extension relation.
49  * ----------------
50  */
52 
53 /* ----------------
54  * compiler constants for pg_extension
55  * ----------------
56  */
57 
58 #define Natts_pg_extension 7
59 #define Anum_pg_extension_extname 1
60 #define Anum_pg_extension_extowner 2
61 #define Anum_pg_extension_extnamespace 3
62 #define Anum_pg_extension_extrelocatable 4
63 #define Anum_pg_extension_extversion 5
64 #define Anum_pg_extension_extconfig 6
65 #define Anum_pg_extension_extcondition 7
66 
67 /* ----------------
68  * pg_extension has no initial contents
69  * ----------------
70  */
71 
72 #endif /* PG_EXTENSION_H */
FormData_pg_extension
Definition: pg_extension.h:44
unsigned int Oid
Definition: postgres_ext.h:31
#define BKI_FORCE_NOT_NULL
Definition: genbki.h:32
Definition: c.h:541
FormData_pg_extension * Form_pg_extension
Definition: pg_extension.h:51
CATALOG(pg_extension, 3079)
Definition: pg_extension.h:31
Definition: c.h:487