diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c
new file mode 100644
index ca357e7..1f5b7ae
*** a/contrib/pg_upgrade/info.c
--- b/contrib/pg_upgrade/info.c
*************** get_rel_infos(migratorContext *ctx, cons
*** 328,336 ****
  			 "	ON c.reltablespace = t.oid "
  			 "WHERE (( "
  			 /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
! 			 "	n.nspname !~ '^pg_' "
! 			 "	AND n.nspname != 'information_schema' "
! 			 "	AND c.oid >= %u "
  			 "	) OR ( "
  			 "	n.nspname = 'pg_catalog' "
  			 "	AND relname IN "
--- 328,338 ----
  			 "	ON c.reltablespace = t.oid "
  			 "WHERE (( "
  			 /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
! 			 "    n.nspname != 'pg_catalog' "
! 			 "    AND n.nspname !~ '^pg_temp_' "
! 			 "    AND n.nspname !~ '^pg_toast_temp_' "
! 			 "	  AND n.nspname != 'information_schema' "
! 			 "	  AND c.oid >= %u "
  			 "	) OR ( "
  			 "	n.nspname = 'pg_catalog' "
  			 "	AND relname IN "
diff --git a/contrib/pg_upgrade/version_old_8_3.c b/contrib/pg_upgrade/version_old_8_3.c
new file mode 100644
index 930f76d..6fcd61b
*** a/contrib/pg_upgrade/version_old_8_3.c
--- b/contrib/pg_upgrade/version_old_8_3.c
*************** old_8_3_check_for_name_data_type_usage(m
*** 61,69 ****
  								"		NOT a.attisdropped AND "
  								"		a.atttypid = 'pg_catalog.name'::pg_catalog.regtype AND "
  								"		c.relnamespace = n.oid AND "
! 							 /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
! 								"   n.nspname !~ '^pg_' AND "
! 						 "		n.nspname != 'information_schema'");
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
--- 61,71 ----
  								"		NOT a.attisdropped AND "
  								"		a.atttypid = 'pg_catalog.name'::pg_catalog.regtype AND "
  								"		c.relnamespace = n.oid AND "
! 								/* exclude possibly orphaned temp tables */
! 							 	"		n.nspname != 'pg_catalog' AND "
! 								"		n.nspname !~ '^pg_temp_' AND "
! 								"		n.nspname !~ '^pg_toast_temp_' AND "
! 								"		n.nspname != 'information_schema' ");
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
*************** old_8_3_check_for_tsquery_usage(migrator
*** 152,160 ****
  								"		NOT a.attisdropped AND "
  								"		a.atttypid = 'pg_catalog.tsquery'::pg_catalog.regtype AND "
  								"		c.relnamespace = n.oid AND "
! 							 /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
! 								"   n.nspname !~ '^pg_' AND "
! 						 "		n.nspname != 'information_schema'");
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
--- 154,164 ----
  								"		NOT a.attisdropped AND "
  								"		a.atttypid = 'pg_catalog.tsquery'::pg_catalog.regtype AND "
  								"		c.relnamespace = n.oid AND "
! 								/* exclude possibly orphaned temp tables */
! 							 	"		n.nspname != 'pg_catalog' AND "
! 								"		n.nspname !~ '^pg_temp_' AND "
! 								"		n.nspname !~ '^pg_toast_temp_' AND "
! 								"		n.nspname != 'information_schema' ");
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
*************** old_8_3_rebuild_tsvector_tables(migrator
*** 252,260 ****
  								"		NOT a.attisdropped AND "
  								"		a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND "
  								"		c.relnamespace = n.oid AND "
! 							 /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
! 								"   n.nspname !~ '^pg_' AND "
! 						 "		n.nspname != 'information_schema'");
  
  /*
   *	This macro is used below to avoid reindexing indexes already rebuilt
--- 256,266 ----
  								"		NOT a.attisdropped AND "
  								"		a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND "
  								"		c.relnamespace = n.oid AND "
! 								/* exclude possibly orphaned temp tables */
! 							 	"		n.nspname != 'pg_catalog' AND "
! 								"		n.nspname !~ '^pg_temp_' AND "
! 								"		n.nspname !~ '^pg_toast_temp_' AND "
! 								"		n.nspname != 'information_schema' ");
  
  /*
   *	This macro is used below to avoid reindexing indexes already rebuilt
*************** old_8_3_rebuild_tsvector_tables(migrator
*** 271,278 ****
  								"		NOT a.attisdropped AND "		\
  								"		a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " \
  								"		c.relnamespace = n.oid AND "	\
! 								"       n.nspname !~ '^pg_' AND "		\
! 								"		n.nspname != 'information_schema') "
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
--- 277,286 ----
  								"		NOT a.attisdropped AND "		\
  								"		a.atttypid = 'pg_catalog.tsvector'::pg_catalog.regtype AND " \
  								"		c.relnamespace = n.oid AND "	\
! 							 	"		n.nspname != 'pg_catalog' AND " \
! 								"		n.nspname !~ '^pg_temp_' AND " \
! 								"		n.nspname !~ '^pg_toast_temp_' AND " \
! 								"		n.nspname != 'information_schema')"
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
*************** old_8_3_create_sequence_script(migratorC
*** 641,649 ****
  								"		pg_catalog.pg_namespace n "
  								"WHERE	c.relkind = 'S' AND "
  								"		c.relnamespace = n.oid AND "
! 							 /* exclude pg_catalog and pg_temp_ (could be orphaned tables) */
! 								"   n.nspname !~ '^pg_' AND "
! 						 "		n.nspname != 'information_schema'");
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
--- 649,660 ----
  								"		pg_catalog.pg_namespace n "
  								"WHERE	c.relkind = 'S' AND "
  								"		c.relnamespace = n.oid AND "
! 								/* exclude possibly orphaned temp tables */
! 							 	"		n.nspname != 'pg_catalog' AND "
! 								"		n.nspname !~ '^pg_temp_' AND "
! 								"		n.nspname !~ '^pg_toast_temp_' AND "
! 								"		n.nspname != 'information_schema' ");
! 
  
  		ntups = PQntuples(res);
  		i_nspname = PQfnumber(res, "nspname");
