*** a/src/backend/catalog/Makefile
--- b/src/backend/catalog/Makefile
***************
*** 39,44 **** POSTGRES_BKI_SRCS = $(addprefix $(top_srcdir)/src/include/catalog/,\
--- 39,45 ----
  	pg_ts_parser.h pg_ts_template.h \
  	pg_foreign_data_wrapper.h pg_foreign_server.h pg_user_mapping.h \
  	pg_default_acl.h pg_seclabel.h \
+ 	pg_extension.h \
  	toasting.h indexing.h \
      )
  
*** a/src/include/catalog/indexing.h
--- b/src/include/catalog/indexing.h
***************
*** 284,289 **** DECLARE_UNIQUE_INDEX(pg_db_role_setting_databaseid_rol_index, 2965, on pg_db_rol
--- 284,292 ----
  DECLARE_UNIQUE_INDEX(pg_seclabel_object_index, 3597, on pg_seclabel using btree(objoid oid_ops, classoid oid_ops, objsubid int4_ops, provider text_ops));
  #define SecLabelObjectIndexId				3597
  
+ DECLARE_UNIQUE_INDEX(pg_extension_name_index, 3696, on pg_extension using btree(extname name_ops));
+ #define ExtensionNameIndexId 3696
+ 
  /* last step of initialization script: build the indexes declared above */
  BUILD_INDICES
  
*** /dev/null
--- b/src/include/catalog/pg_extension.h
***************
*** 0 ****
--- 1,61 ----
+ /*-------------------------------------------------------------------------
+  *
+  * pg_extension.h
+  *	  definition of the system "extension" relation (pg_extension)
+  *
+  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
+  * Portions Copyright (c) 1994, Regents of the University of California
+  *
+  * src/include/catalog/pg_extension.h
+  *
+  * NOTES
+  *	  the genbki.pl script reads this file and generates .bki
+  *	  information from the DATA() statements.
+  *
+  *-------------------------------------------------------------------------
+  */
+ #ifndef PG_EXTENSION_H
+ #define PG_EXTENSION_H
+ 
+ #include "catalog/genbki.h"
+ 
+ /* ----------------
+  *		pg_extension definition.  cpp turns this into
+  *		typedef struct FormData_pg_extension
+  * ----------------
+  */
+ #define ExtensionRelationId	3696
+ 
+ CATALOG(pg_extension,3696)
+ {
+ 	NameData	extname;	  /* name of the extension */
+ 	text		extversion;	  /* version "name" of the extension */
+ 	text        custom_class; /* custom class used by the extension */
+ } FormData_pg_extension;
+ 
+ /* ----------------
+  *		Form_pg_extension corresponds to a pointer to a tuple with
+  *		the format of pg_extension relation.
+  * ----------------
+  */
+ typedef FormData_pg_extension *Form_pg_extension;
+ 
+ /* ----------------
+  *		compiler constants for pg_extension
+  * ----------------
+  */
+ 
+ #define Natts_pg_extension					3
+ #define Anum_pg_extension_extname			1
+ #define Anum_pg_extension_extversion		2
+ #define Anum_pg_extension_custom_class		3
+ 
+ /* ----------------
+  *		initial contents of pg_extension
+  * ----------------
+  */
+ 
+ /* btree
+ DATA(insert ("PostgreSQL" PG_VERSION _null_));
+ */
+ #endif   /* PG_EXTENSION_H */
*** a/src/include/catalog/toasting.h
--- b/src/include/catalog/toasting.h
***************
*** 43,48 **** extern void BootstrapToastTable(char *relName,
--- 43,49 ----
  DECLARE_TOAST(pg_attrdef, 2830, 2831);
  DECLARE_TOAST(pg_constraint, 2832, 2833);
  DECLARE_TOAST(pg_description, 2834, 2835);
+ DECLARE_TOAST(pg_extension, 3698, 3699);
  DECLARE_TOAST(pg_proc, 2836, 2837);
  DECLARE_TOAST(pg_rewrite, 2838, 2839);
  DECLARE_TOAST(pg_seclabel, 3598, 3599);
