1 /*------------------------------------------------------------------------- 2 * 3 * pg_extension.h 4 * definition of the "extension" system catalog (pg_extension) 5 * 6 * 7 * Portions Copyright (c) 1996-2019, 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; /* extension owner */ 34 Oid extnamespace; /* namespace of contained objects */ 35 bool extrelocatable; /* if true, allow ALTER EXTENSION SET SCHEMA */ 36 37 #ifdef CATALOG_VARLEN /* variable-length fields start here */ 38 /* extversion may never be null, but the others can be. */ 39 text extversion BKI_FORCE_NOT_NULL; /* extension version name */ 40 Oid extconfig[1]; /* dumpable configuration tables */ 41 text extcondition[1]; /* WHERE clauses for config tables */ 42 #endif 43 } FormData_pg_extension; 44 45 /* ---------------- 46 * Form_pg_extension corresponds to a pointer to a tuple with 47 * the format of pg_extension relation. 48 * ---------------- 49 */ 50 typedef FormData_pg_extension *Form_pg_extension; 51 52 #endif /* PG_EXTENSION_H */ 53