From 978d2385a8c1a265b6ff01e6b07810061118824d Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sat, 22 Jan 2000 23:51:20 +0000
Subject: [PATCH] Update regress tests for change of pg_am/pg_amop.

---
 src/test/regress/expected/oidjoins.out   | 441 ++++++++++++-----------
 src/test/regress/expected/opr_sanity.out |  39 +-
 src/test/regress/sql/oidjoins.sql        | 415 ++++++++++-----------
 3 files changed, 448 insertions(+), 447 deletions(-)

diff --git a/src/test/regress/expected/oidjoins.out b/src/test/regress/expected/oidjoins.out
index 31e829556f0..a42d3d89f02 100644
--- a/src/test/regress/expected/oidjoins.out
+++ b/src/test/regress/expected/oidjoins.out
@@ -1,403 +1,426 @@
 --
--- OIDJOIN
 -- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check
 --
-SELECT oid, pg_aggregate.aggtransfn1 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtransfn1 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
+SELECT	oid, pg_aggregate.aggtransfn1 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtransfn1 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
  oid | aggtransfn1 
 -----+-------------
 (0 rows)
 
-SELECT oid, pg_aggregate.aggtransfn2 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtransfn2 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
+SELECT	oid, pg_aggregate.aggtransfn2 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtransfn2 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
  oid | aggtransfn2 
 -----+-------------
 (0 rows)
 
-SELECT oid, pg_aggregate.aggfinalfn 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggfinalfn != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
+SELECT	oid, pg_aggregate.aggfinalfn 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggfinalfn != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
  oid | aggfinalfn 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_aggregate.aggbasetype 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggbasetype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
+SELECT	oid, pg_aggregate.aggbasetype 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggbasetype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
  oid | aggbasetype 
 -----+-------------
 (0 rows)
 
-SELECT oid, pg_aggregate.aggtranstype1 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtranstype1 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
+SELECT	oid, pg_aggregate.aggtranstype1 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtranstype1 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
  oid | aggtranstype1 
 -----+---------------
 (0 rows)
 
-SELECT oid, pg_aggregate.aggtranstype2 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtranstype2 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
+SELECT	oid, pg_aggregate.aggtranstype2 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtranstype2 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
  oid | aggtranstype2 
 -----+---------------
 (0 rows)
 
-SELECT oid, pg_aggregate.aggfinaltype 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggfinaltype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
+SELECT	oid, pg_aggregate.aggfinaltype 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggfinaltype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
  oid | aggfinaltype 
 -----+--------------
 (0 rows)
 
-SELECT oid, pg_am.amgettuple 
-  FROM pg_am 
-  WHERE pg_am.amgettuple != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
+SELECT	oid, pg_am.amgettuple 
+FROM	pg_am 
+WHERE	pg_am.amgettuple != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
  oid | amgettuple 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_am.aminsert 
-  FROM pg_am 
-  WHERE pg_am.aminsert != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
+SELECT	oid, pg_am.aminsert 
+FROM	pg_am 
+WHERE	pg_am.aminsert != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
  oid | aminsert 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_am.amdelete 
-  FROM pg_am 
-  WHERE pg_am.amdelete != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
+SELECT	oid, pg_am.amdelete 
+FROM	pg_am 
+WHERE	pg_am.amdelete != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
  oid | amdelete 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_am.ambeginscan 
-  FROM pg_am 
-  WHERE pg_am.ambeginscan != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
+SELECT	oid, pg_am.ambeginscan 
+FROM	pg_am 
+WHERE	pg_am.ambeginscan != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
  oid | ambeginscan 
 -----+-------------
 (0 rows)
 
-SELECT oid, pg_am.amrescan 
-  FROM pg_am 
-  WHERE pg_am.amrescan != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
+SELECT	oid, pg_am.amrescan 
+FROM	pg_am 
+WHERE	pg_am.amrescan != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
  oid | amrescan 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_am.amendscan 
-  FROM pg_am 
-  WHERE pg_am.amendscan != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
+SELECT	oid, pg_am.amendscan 
+FROM	pg_am 
+WHERE	pg_am.amendscan != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
  oid | amendscan 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_am.ammarkpos 
-  FROM pg_am 
-  WHERE pg_am.ammarkpos != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
+SELECT	oid, pg_am.ammarkpos 
+FROM	pg_am 
+WHERE	pg_am.ammarkpos != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
  oid | ammarkpos 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_am.amrestrpos 
-  FROM pg_am 
-  WHERE pg_am.amrestrpos != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
+SELECT	oid, pg_am.amrestrpos 
+FROM	pg_am 
+WHERE	pg_am.amrestrpos != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
  oid | amrestrpos 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_am.ambuild 
-  FROM pg_am 
-  WHERE pg_am.ambuild != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
+SELECT	oid, pg_am.ambuild 
+FROM	pg_am 
+WHERE	pg_am.ambuild != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
  oid | ambuild 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_amop.amopid 
-  FROM pg_amop 
-  WHERE pg_amop.amopid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
+SELECT	oid, pg_am.amcostestimate 
+FROM	pg_am 
+WHERE	pg_am.amcostestimate != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amcostestimate);
+ oid | amcostestimate 
+-----+----------------
+(0 rows)
+
+SELECT	oid, pg_amop.amopid 
+FROM	pg_amop 
+WHERE	pg_amop.amopid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
  oid | amopid 
 -----+--------
 (0 rows)
 
-SELECT oid, pg_amop.amopclaid 
-  FROM pg_amop 
-  WHERE pg_amop.amopclaid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
+SELECT	oid, pg_amop.amopclaid 
+FROM	pg_amop 
+WHERE	pg_amop.amopclaid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
  oid | amopclaid 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_amop.amopopr 
-  FROM pg_amop 
-  WHERE pg_amop.amopopr != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
+SELECT	oid, pg_amop.amopopr 
+FROM	pg_amop 
+WHERE	pg_amop.amopopr != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
  oid | amopopr 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_amop.amopselect 
-  FROM pg_amop 
-  WHERE pg_amop.amopselect != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopselect);
- oid | amopselect 
------+------------
-(0 rows)
-
-SELECT oid, pg_amop.amopnpages 
-  FROM pg_amop 
-  WHERE pg_amop.amopnpages != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopnpages);
- oid | amopnpages 
------+------------
-(0 rows)
-
-SELECT oid, pg_amproc.amid 
-  FROM pg_amproc 
-  WHERE pg_amproc.amid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
+SELECT	oid, pg_amproc.amid 
+FROM	pg_amproc 
+WHERE	pg_amproc.amid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
  oid | amid 
 -----+------
 (0 rows)
 
-SELECT oid, pg_amproc.amopclaid 
-  FROM pg_amproc 
-  WHERE pg_amproc.amopclaid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
+SELECT	oid, pg_amproc.amopclaid 
+FROM	pg_amproc 
+WHERE	pg_amproc.amopclaid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
  oid | amopclaid 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_amproc.amproc 
-  FROM pg_amproc 
-  WHERE pg_amproc.amproc != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
+SELECT	oid, pg_amproc.amproc 
+FROM	pg_amproc 
+WHERE	pg_amproc.amproc != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
  oid | amproc 
 -----+--------
 (0 rows)
 
-SELECT oid, pg_attribute.attrelid 
-  FROM pg_attribute 
-  WHERE pg_attribute.attrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
+SELECT	oid, pg_attribute.attrelid 
+FROM	pg_attribute 
+WHERE	pg_attribute.attrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
  oid | attrelid 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_attribute.atttypid 
-  FROM pg_attribute 
-  WHERE pg_attribute.atttypid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
+SELECT	oid, pg_attribute.atttypid 
+FROM	pg_attribute 
+WHERE	pg_attribute.atttypid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
  oid | atttypid 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_class.reltype 
-  FROM pg_class 
-  WHERE pg_class.reltype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
+SELECT	oid, pg_class.reltype 
+FROM	pg_class 
+WHERE	pg_class.reltype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
  oid | reltype 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_class.relam 
-  FROM pg_class 
-  WHERE pg_class.relam != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
+SELECT	oid, pg_class.relam 
+FROM	pg_class 
+WHERE	pg_class.relam != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
  oid | relam 
 -----+-------
 (0 rows)
 
-SELECT oid, pg_index.indexrelid 
-  FROM pg_index 
-  WHERE pg_index.indexrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
+SELECT	oid, pg_index.indexrelid 
+FROM	pg_index 
+WHERE	pg_index.indexrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
  oid | indexrelid 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_index.indrelid 
-  FROM pg_index 
-  WHERE pg_index.indrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
+SELECT	oid, pg_index.indrelid 
+FROM	pg_index 
+WHERE	pg_index.indrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
  oid | indrelid 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_opclass.opcdeftype 
-  FROM pg_opclass 
-  WHERE pg_opclass.opcdeftype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
+SELECT	oid, pg_opclass.opcdeftype 
+FROM	pg_opclass 
+WHERE	pg_opclass.opcdeftype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
  oid | opcdeftype 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_operator.oprleft 
-  FROM pg_operator 
-  WHERE pg_operator.oprleft != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
+SELECT	oid, pg_operator.oprleft 
+FROM	pg_operator 
+WHERE	pg_operator.oprleft != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
  oid | oprleft 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_operator.oprright 
-  FROM pg_operator 
-  WHERE pg_operator.oprright != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
+SELECT	oid, pg_operator.oprright 
+FROM	pg_operator 
+WHERE	pg_operator.oprright != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
  oid | oprright 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_operator.oprresult 
-  FROM pg_operator 
-  WHERE pg_operator.oprresult != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
+SELECT	oid, pg_operator.oprresult 
+FROM	pg_operator 
+WHERE	pg_operator.oprresult != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
  oid | oprresult 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_operator.oprcom 
-  FROM pg_operator 
-  WHERE pg_operator.oprcom != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
+SELECT	oid, pg_operator.oprcom 
+FROM	pg_operator 
+WHERE	pg_operator.oprcom != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
  oid | oprcom 
 -----+--------
 (0 rows)
 
-SELECT oid, pg_operator.oprnegate 
-  FROM pg_operator 
-  WHERE pg_operator.oprnegate != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
+SELECT	oid, pg_operator.oprnegate 
+FROM	pg_operator 
+WHERE	pg_operator.oprnegate != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
  oid | oprnegate 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_operator.oprlsortop 
-  FROM pg_operator 
-  WHERE pg_operator.oprlsortop != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
+SELECT	oid, pg_operator.oprlsortop 
+FROM	pg_operator 
+WHERE	pg_operator.oprlsortop != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
  oid | oprlsortop 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_operator.oprrsortop 
-  FROM pg_operator 
-  WHERE pg_operator.oprrsortop != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
+SELECT	oid, pg_operator.oprrsortop 
+FROM	pg_operator 
+WHERE	pg_operator.oprrsortop != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
  oid | oprrsortop 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_operator.oprcode 
-  FROM pg_operator 
-  WHERE pg_operator.oprcode != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
+SELECT	oid, pg_operator.oprcode 
+FROM	pg_operator 
+WHERE	pg_operator.oprcode != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
  oid | oprcode 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_operator.oprrest 
-  FROM pg_operator 
-  WHERE pg_operator.oprrest != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
+SELECT	oid, pg_operator.oprrest 
+FROM	pg_operator 
+WHERE	pg_operator.oprrest != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
  oid | oprrest 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_operator.oprjoin 
-  FROM pg_operator 
-  WHERE pg_operator.oprjoin != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprjoin);
+SELECT	oid, pg_operator.oprjoin 
+FROM	pg_operator 
+WHERE	pg_operator.oprjoin != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprjoin);
  oid | oprjoin 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_proc.prolang 
-  FROM pg_proc 
-  WHERE pg_proc.prolang != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
+SELECT	oid, pg_proc.prolang 
+FROM	pg_proc 
+WHERE	pg_proc.prolang != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
  oid | prolang 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_proc.prorettype 
-  FROM pg_proc 
-  WHERE pg_proc.prorettype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
+SELECT	oid, pg_proc.prorettype 
+FROM	pg_proc 
+WHERE	pg_proc.prorettype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
  oid | prorettype 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_rewrite.ev_class 
-  FROM pg_rewrite 
-  WHERE pg_rewrite.ev_class != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
+SELECT	oid, pg_rewrite.ev_class 
+FROM	pg_rewrite 
+WHERE	pg_rewrite.ev_class != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
  oid | ev_class 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_type.typrelid 
-  FROM pg_type 
-  WHERE pg_type.typrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
+SELECT	oid, pg_statistic.starelid 
+FROM	pg_statistic 
+WHERE	pg_statistic.starelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_statistic.starelid);
+ oid | starelid 
+-----+----------
+(0 rows)
+
+SELECT	oid, pg_statistic.staop 
+FROM	pg_statistic 
+WHERE	pg_statistic.staop != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_statistic.staop);
+ oid | staop 
+-----+-------
+(0 rows)
+
+SELECT	oid, pg_trigger.tgrelid 
+FROM	pg_trigger 
+WHERE	pg_trigger.tgrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_trigger.tgrelid);
+ oid | tgrelid 
+-----+---------
+(0 rows)
+
+SELECT	oid, pg_trigger.tgfoid 
+FROM	pg_trigger 
+WHERE	pg_trigger.tgfoid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_trigger.tgfoid);
+ oid | tgfoid 
+-----+--------
+(0 rows)
+
+SELECT	oid, pg_type.typrelid 
+FROM	pg_type 
+WHERE	pg_type.typrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
  oid | typrelid 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_type.typelem 
-  FROM pg_type 
-  WHERE pg_type.typelem != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
+SELECT	oid, pg_type.typelem 
+FROM	pg_type 
+WHERE	pg_type.typelem != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
  oid | typelem 
 -----+---------
 (0 rows)
 
-SELECT oid, pg_type.typinput 
-  FROM pg_type 
-  WHERE pg_type.typinput != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
+SELECT	oid, pg_type.typinput 
+FROM	pg_type 
+WHERE	pg_type.typinput != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
  oid | typinput 
 -----+----------
 (0 rows)
 
-SELECT oid, pg_type.typoutput 
-  FROM pg_type 
-  WHERE pg_type.typoutput != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
+SELECT	oid, pg_type.typoutput 
+FROM	pg_type 
+WHERE	pg_type.typoutput != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
  oid | typoutput 
 -----+-----------
 (0 rows)
 
-SELECT oid, pg_type.typreceive 
-  FROM pg_type 
-  WHERE pg_type.typreceive != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
+SELECT	oid, pg_type.typreceive 
+FROM	pg_type 
+WHERE	pg_type.typreceive != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
  oid | typreceive 
 -----+------------
 (0 rows)
 
-SELECT oid, pg_type.typsend 
-  FROM pg_type 
-  WHERE pg_type.typsend != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
+SELECT	oid, pg_type.typsend 
+FROM	pg_type 
+WHERE	pg_type.typsend != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
  oid | typsend 
 -----+---------
 (0 rows)
diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out
index bede9c1ff90..5adf28926cc 100644
--- a/src/test/regress/expected/opr_sanity.out
+++ b/src/test/regress/expected/opr_sanity.out
@@ -21,12 +21,15 @@
 --
 -- **************** pg_proc ****************
 -- Look for illegal values in pg_proc fields.
+-- NOTE: currently there are a few pg_proc entries that have prorettype = 0.
+-- Someday that ought to be cleaned up.
 SELECT p1.oid, p1.proname
 FROM pg_proc as p1
 WHERE (p1.prolang = 0 OR p1.prorettype = 0 OR
     p1.pronargs < 0 OR p1.pronargs > 9)
 	AND p1.proname !~ '^pl[^_]+_call_handler$'
 	AND p1.proname !~ '^RI_FKey_'
+	AND p1.proname !~ 'costestimate$'
 	AND p1.proname != 'update_pg_pwd';
  oid | proname 
 -----+---------
@@ -504,7 +507,7 @@ WHERE p1.aggfinalfn = p2.oid AND
 SELECT p1.oid
 FROM pg_amop as p1
 WHERE p1.amopid = 0 OR p1.amopclaid = 0 OR p1.amopopr = 0 OR
-    p1.amopstrategy <= 0 OR p1.amopselect = 0 OR p1.amopnpages = 0;
+    p1.amopstrategy <= 0;
  oid 
 -----
 (0 rows)
@@ -560,40 +563,6 @@ WHERE p1.amopopr = p2.oid AND p1.amopclaid = p3.oid AND
 -----+-----+---------+-----+---------
 (0 rows)
 
--- Check that amopselect points to a proc with the right signature
--- to be an access-method selectivity estimator.
--- The proc signature we want is:
--- float8 proc(oid, oid, int2, <any>, int4, int4, oid)
-SELECT p1.oid, p2.oid, p2.proname
-FROM pg_amop AS p1, pg_proc AS p2
-WHERE p1.amopselect = p2.oid AND
-    (p2.prorettype != 701 OR p2.proretset OR
-     p2.pronargs != 7 OR
-     p2.proargtypes[0] != 26 OR p2.proargtypes[1] != 26 OR
-     p2.proargtypes[2] != 21 OR p2.proargtypes[3] != 0 OR
-     p2.proargtypes[4] != 23 OR p2.proargtypes[5] != 23 OR
-     p2.proargtypes[6] != 26);
- oid | oid | proname 
------+-----+---------
-(0 rows)
-
--- Check that amopnpages points to a proc with the right signature
--- to be an access-method page-count estimator.
--- The proc signature we want is:
--- float8 proc(oid, oid, int2, <any>, int4, int4, oid)
-SELECT p1.oid, p2.oid, p2.proname
-FROM pg_amop AS p1, pg_proc AS p2
-WHERE p1.amopnpages = p2.oid AND
-    (p2.prorettype != 701 OR p2.proretset OR
-     p2.pronargs != 7 OR
-     p2.proargtypes[0] != 26 OR p2.proargtypes[1] != 26 OR
-     p2.proargtypes[2] != 21 OR p2.proargtypes[3] != 0 OR
-     p2.proargtypes[4] != 23 OR p2.proargtypes[5] != 23 OR
-     p2.proargtypes[6] != 26);
- oid | oid | proname 
------+-----+---------
-(0 rows)
-
 -- **************** pg_amproc ****************
 -- Look for illegal values in pg_amproc fields
 SELECT p1.oid
diff --git a/src/test/regress/sql/oidjoins.sql b/src/test/regress/sql/oidjoins.sql
index 27b6034a332..7c6b4d99efb 100644
--- a/src/test/regress/sql/oidjoins.sql
+++ b/src/test/regress/sql/oidjoins.sql
@@ -1,206 +1,215 @@
 --
--- OIDJOIN
 -- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check
 --
-
-SELECT oid, pg_aggregate.aggtransfn1 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtransfn1 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
-SELECT oid, pg_aggregate.aggtransfn2 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtransfn2 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
-SELECT oid, pg_aggregate.aggfinalfn 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggfinalfn != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
-SELECT oid, pg_aggregate.aggbasetype 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggbasetype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
-SELECT oid, pg_aggregate.aggtranstype1 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtranstype1 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
-SELECT oid, pg_aggregate.aggtranstype2 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggtranstype2 != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
-SELECT oid, pg_aggregate.aggfinaltype 
-  FROM pg_aggregate 
-  WHERE pg_aggregate.aggfinaltype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
-SELECT oid, pg_am.amgettuple 
-  FROM pg_am 
-  WHERE pg_am.amgettuple != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
-SELECT oid, pg_am.aminsert 
-  FROM pg_am 
-  WHERE pg_am.aminsert != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
-SELECT oid, pg_am.amdelete 
-  FROM pg_am 
-  WHERE pg_am.amdelete != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
-SELECT oid, pg_am.ambeginscan 
-  FROM pg_am 
-  WHERE pg_am.ambeginscan != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
-SELECT oid, pg_am.amrescan 
-  FROM pg_am 
-  WHERE pg_am.amrescan != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
-SELECT oid, pg_am.amendscan 
-  FROM pg_am 
-  WHERE pg_am.amendscan != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
-SELECT oid, pg_am.ammarkpos 
-  FROM pg_am 
-  WHERE pg_am.ammarkpos != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
-SELECT oid, pg_am.amrestrpos 
-  FROM pg_am 
-  WHERE pg_am.amrestrpos != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
-SELECT oid, pg_am.ambuild 
-  FROM pg_am 
-  WHERE pg_am.ambuild != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
-SELECT oid, pg_amop.amopid 
-  FROM pg_amop 
-  WHERE pg_amop.amopid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
-SELECT oid, pg_amop.amopclaid 
-  FROM pg_amop 
-  WHERE pg_amop.amopclaid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
-SELECT oid, pg_amop.amopopr 
-  FROM pg_amop 
-  WHERE pg_amop.amopopr != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
-SELECT oid, pg_amop.amopselect 
-  FROM pg_amop 
-  WHERE pg_amop.amopselect != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopselect);
-SELECT oid, pg_amop.amopnpages 
-  FROM pg_amop 
-  WHERE pg_amop.amopnpages != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopnpages);
-SELECT oid, pg_amproc.amid 
-  FROM pg_amproc 
-  WHERE pg_amproc.amid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
-SELECT oid, pg_amproc.amopclaid 
-  FROM pg_amproc 
-  WHERE pg_amproc.amopclaid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
-SELECT oid, pg_amproc.amproc 
-  FROM pg_amproc 
-  WHERE pg_amproc.amproc != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
-SELECT oid, pg_attribute.attrelid 
-  FROM pg_attribute 
-  WHERE pg_attribute.attrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
-SELECT oid, pg_attribute.atttypid 
-  FROM pg_attribute 
-  WHERE pg_attribute.atttypid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
-SELECT oid, pg_class.reltype 
-  FROM pg_class 
-  WHERE pg_class.reltype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
-SELECT oid, pg_class.relam 
-  FROM pg_class 
-  WHERE pg_class.relam != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
-SELECT oid, pg_index.indexrelid 
-  FROM pg_index 
-  WHERE pg_index.indexrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
-SELECT oid, pg_index.indrelid 
-  FROM pg_index 
-  WHERE pg_index.indrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
-SELECT oid, pg_opclass.opcdeftype 
-  FROM pg_opclass 
-  WHERE pg_opclass.opcdeftype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
-SELECT oid, pg_operator.oprleft 
-  FROM pg_operator 
-  WHERE pg_operator.oprleft != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
-SELECT oid, pg_operator.oprright 
-  FROM pg_operator 
-  WHERE pg_operator.oprright != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
-SELECT oid, pg_operator.oprresult 
-  FROM pg_operator 
-  WHERE pg_operator.oprresult != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
-SELECT oid, pg_operator.oprcom 
-  FROM pg_operator 
-  WHERE pg_operator.oprcom != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
-SELECT oid, pg_operator.oprnegate 
-  FROM pg_operator 
-  WHERE pg_operator.oprnegate != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
-SELECT oid, pg_operator.oprlsortop 
-  FROM pg_operator 
-  WHERE pg_operator.oprlsortop != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
-SELECT oid, pg_operator.oprrsortop 
-  FROM pg_operator 
-  WHERE pg_operator.oprrsortop != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
-SELECT oid, pg_operator.oprcode 
-  FROM pg_operator 
-  WHERE pg_operator.oprcode != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
-SELECT oid, pg_operator.oprrest 
-  FROM pg_operator 
-  WHERE pg_operator.oprrest != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
-SELECT oid, pg_operator.oprjoin 
-  FROM pg_operator 
-  WHERE pg_operator.oprjoin != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprjoin);
-SELECT oid, pg_proc.prolang 
-  FROM pg_proc 
-  WHERE pg_proc.prolang != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
-SELECT oid, pg_proc.prorettype 
-  FROM pg_proc 
-  WHERE pg_proc.prorettype != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
-SELECT oid, pg_rewrite.ev_class 
-  FROM pg_rewrite 
-  WHERE pg_rewrite.ev_class != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
-SELECT oid, pg_type.typrelid 
-  FROM pg_type 
-  WHERE pg_type.typrelid != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
-SELECT oid, pg_type.typelem 
-  FROM pg_type 
-  WHERE pg_type.typelem != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
-SELECT oid, pg_type.typinput 
-  FROM pg_type 
-  WHERE pg_type.typinput != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
-SELECT oid, pg_type.typoutput 
-  FROM pg_type 
-  WHERE pg_type.typoutput != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
-SELECT oid, pg_type.typreceive 
-  FROM pg_type 
-  WHERE pg_type.typreceive != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
-SELECT oid, pg_type.typsend 
-  FROM pg_type 
-  WHERE pg_type.typsend != 0 AND 
-    NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
-
+SELECT	oid, pg_aggregate.aggtransfn1 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtransfn1 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn1);
+SELECT	oid, pg_aggregate.aggtransfn2 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtransfn2 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggtransfn2);
+SELECT	oid, pg_aggregate.aggfinalfn 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggfinalfn != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_aggregate.aggfinalfn);
+SELECT	oid, pg_aggregate.aggbasetype 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggbasetype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggbasetype);
+SELECT	oid, pg_aggregate.aggtranstype1 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtranstype1 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype1);
+SELECT	oid, pg_aggregate.aggtranstype2 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggtranstype2 != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggtranstype2);
+SELECT	oid, pg_aggregate.aggfinaltype 
+FROM	pg_aggregate 
+WHERE	pg_aggregate.aggfinaltype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_aggregate.aggfinaltype);
+SELECT	oid, pg_am.amgettuple 
+FROM	pg_am 
+WHERE	pg_am.amgettuple != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amgettuple);
+SELECT	oid, pg_am.aminsert 
+FROM	pg_am 
+WHERE	pg_am.aminsert != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.aminsert);
+SELECT	oid, pg_am.amdelete 
+FROM	pg_am 
+WHERE	pg_am.amdelete != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amdelete);
+SELECT	oid, pg_am.ambeginscan 
+FROM	pg_am 
+WHERE	pg_am.ambeginscan != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambeginscan);
+SELECT	oid, pg_am.amrescan 
+FROM	pg_am 
+WHERE	pg_am.amrescan != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrescan);
+SELECT	oid, pg_am.amendscan 
+FROM	pg_am 
+WHERE	pg_am.amendscan != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amendscan);
+SELECT	oid, pg_am.ammarkpos 
+FROM	pg_am 
+WHERE	pg_am.ammarkpos != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ammarkpos);
+SELECT	oid, pg_am.amrestrpos 
+FROM	pg_am 
+WHERE	pg_am.amrestrpos != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amrestrpos);
+SELECT	oid, pg_am.ambuild 
+FROM	pg_am 
+WHERE	pg_am.ambuild != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
+SELECT	oid, pg_am.amcostestimate 
+FROM	pg_am 
+WHERE	pg_am.amcostestimate != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amcostestimate);
+SELECT	oid, pg_amop.amopid 
+FROM	pg_amop 
+WHERE	pg_amop.amopid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amop.amopid);
+SELECT	oid, pg_amop.amopclaid 
+FROM	pg_amop 
+WHERE	pg_amop.amopclaid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amop.amopclaid);
+SELECT	oid, pg_amop.amopopr 
+FROM	pg_amop 
+WHERE	pg_amop.amopopr != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
+SELECT	oid, pg_amproc.amid 
+FROM	pg_amproc 
+WHERE	pg_amproc.amid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_amproc.amid);
+SELECT	oid, pg_amproc.amopclaid 
+FROM	pg_amproc 
+WHERE	pg_amproc.amopclaid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_opclass AS t1 WHERE t1.oid = pg_amproc.amopclaid);
+SELECT	oid, pg_amproc.amproc 
+FROM	pg_amproc 
+WHERE	pg_amproc.amproc != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amproc.amproc);
+SELECT	oid, pg_attribute.attrelid 
+FROM	pg_attribute 
+WHERE	pg_attribute.attrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_attribute.attrelid);
+SELECT	oid, pg_attribute.atttypid 
+FROM	pg_attribute 
+WHERE	pg_attribute.atttypid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_attribute.atttypid);
+SELECT	oid, pg_class.reltype 
+FROM	pg_class 
+WHERE	pg_class.reltype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_class.reltype);
+SELECT	oid, pg_class.relam 
+FROM	pg_class 
+WHERE	pg_class.relam != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_am AS t1 WHERE t1.oid = pg_class.relam);
+SELECT	oid, pg_index.indexrelid 
+FROM	pg_index 
+WHERE	pg_index.indexrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indexrelid);
+SELECT	oid, pg_index.indrelid 
+FROM	pg_index 
+WHERE	pg_index.indrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_index.indrelid);
+SELECT	oid, pg_opclass.opcdeftype 
+FROM	pg_opclass 
+WHERE	pg_opclass.opcdeftype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_opclass.opcdeftype);
+SELECT	oid, pg_operator.oprleft 
+FROM	pg_operator 
+WHERE	pg_operator.oprleft != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprleft);
+SELECT	oid, pg_operator.oprright 
+FROM	pg_operator 
+WHERE	pg_operator.oprright != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprright);
+SELECT	oid, pg_operator.oprresult 
+FROM	pg_operator 
+WHERE	pg_operator.oprresult != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_operator.oprresult);
+SELECT	oid, pg_operator.oprcom 
+FROM	pg_operator 
+WHERE	pg_operator.oprcom != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprcom);
+SELECT	oid, pg_operator.oprnegate 
+FROM	pg_operator 
+WHERE	pg_operator.oprnegate != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprnegate);
+SELECT	oid, pg_operator.oprlsortop 
+FROM	pg_operator 
+WHERE	pg_operator.oprlsortop != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprlsortop);
+SELECT	oid, pg_operator.oprrsortop 
+FROM	pg_operator 
+WHERE	pg_operator.oprrsortop != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_operator.oprrsortop);
+SELECT	oid, pg_operator.oprcode 
+FROM	pg_operator 
+WHERE	pg_operator.oprcode != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprcode);
+SELECT	oid, pg_operator.oprrest 
+FROM	pg_operator 
+WHERE	pg_operator.oprrest != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprrest);
+SELECT	oid, pg_operator.oprjoin 
+FROM	pg_operator 
+WHERE	pg_operator.oprjoin != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_operator.oprjoin);
+SELECT	oid, pg_proc.prolang 
+FROM	pg_proc 
+WHERE	pg_proc.prolang != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_language AS t1 WHERE t1.oid = pg_proc.prolang);
+SELECT	oid, pg_proc.prorettype 
+FROM	pg_proc 
+WHERE	pg_proc.prorettype != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_proc.prorettype);
+SELECT	oid, pg_rewrite.ev_class 
+FROM	pg_rewrite 
+WHERE	pg_rewrite.ev_class != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
+SELECT	oid, pg_statistic.starelid 
+FROM	pg_statistic 
+WHERE	pg_statistic.starelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_statistic.starelid);
+SELECT	oid, pg_statistic.staop 
+FROM	pg_statistic 
+WHERE	pg_statistic.staop != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_statistic.staop);
+SELECT	oid, pg_trigger.tgrelid 
+FROM	pg_trigger 
+WHERE	pg_trigger.tgrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_trigger.tgrelid);
+SELECT	oid, pg_trigger.tgfoid 
+FROM	pg_trigger 
+WHERE	pg_trigger.tgfoid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_trigger.tgfoid);
+SELECT	oid, pg_type.typrelid 
+FROM	pg_type 
+WHERE	pg_type.typrelid != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_type.typrelid);
+SELECT	oid, pg_type.typelem 
+FROM	pg_type 
+WHERE	pg_type.typelem != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_type AS t1 WHERE t1.oid = pg_type.typelem);
+SELECT	oid, pg_type.typinput 
+FROM	pg_type 
+WHERE	pg_type.typinput != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typinput);
+SELECT	oid, pg_type.typoutput 
+FROM	pg_type 
+WHERE	pg_type.typoutput != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typoutput);
+SELECT	oid, pg_type.typreceive 
+FROM	pg_type 
+WHERE	pg_type.typreceive != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typreceive);
+SELECT	oid, pg_type.typsend 
+FROM	pg_type 
+WHERE	pg_type.typsend != 0 AND 
+	NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
-- 
GitLab