pg_extension.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*-------------------------------------------------------------------------
  2. *
  3. * pg_extension.h
  4. * definition of the "extension" system catalog (pg_extension)
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2022, 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. #include "catalog/genbki.h"
  21. #include "catalog/pg_extension_d.h"
  22. /* ----------------
  23. * pg_extension definition. cpp turns this into
  24. * typedef struct FormData_pg_extension
  25. * ----------------
  26. */
  27. CATALOG(pg_extension,3079,ExtensionRelationId)
  28. {
  29. Oid oid; /* oid */
  30. NameData extname; /* extension name */
  31. Oid extowner BKI_LOOKUP(pg_authid); /* extension owner */
  32. Oid extnamespace BKI_LOOKUP(pg_namespace); /* namespace of
  33. * contained objects */
  34. bool extrelocatable; /* if true, allow ALTER EXTENSION SET SCHEMA */
  35. #ifdef CATALOG_VARLEN /* variable-length fields start here */
  36. /* extversion may never be null, but the others can be. */
  37. text extversion BKI_FORCE_NOT_NULL; /* extension version name */
  38. Oid extconfig[1] BKI_LOOKUP(pg_class); /* dumpable configuration
  39. * tables */
  40. text extcondition[1]; /* WHERE clauses for config tables */
  41. #endif
  42. } FormData_pg_extension;
  43. /* ----------------
  44. * Form_pg_extension corresponds to a pointer to a tuple with
  45. * the format of pg_extension relation.
  46. * ----------------
  47. */
  48. typedef FormData_pg_extension *Form_pg_extension;
  49. DECLARE_TOAST(pg_extension, 4147, 4148);
  50. DECLARE_UNIQUE_INDEX_PKEY(pg_extension_oid_index, 3080, ExtensionOidIndexId, on pg_extension using btree(oid oid_ops));
  51. DECLARE_UNIQUE_INDEX(pg_extension_name_index, 3081, ExtensionNameIndexId, on pg_extension using btree(extname name_ops));
  52. #endif /* PG_EXTENSION_H */