From 52b59a7becc1b820a07986907337d85ac3ccac87 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 16 Oct 2003 22:52:22 +0000
Subject: [PATCH] Set attstattarget to -1 for all system catalog columns.  All
 but a few of the entries used to be zero, which I think I had deliberately
 done in the name of saving cycles during ANALYZE, but it was really a rather
 foolish decision.  Some of the more complex views in information_schema were
 getting really bad plans for lack of statistics on the columns they were
 joining over.

I'm not forcing an initdb for this, but I think there will be one soon
anyway to repair some bugs in the information_schema views.
---
 src/include/catalog/pg_attribute.h | 306 ++++++++++++++---------------
 1 file changed, 153 insertions(+), 153 deletions(-)

diff --git a/src/include/catalog/pg_attribute.h b/src/include/catalog/pg_attribute.h
index fd19c697d8c..adbc15213a5 100644
--- a/src/include/catalog/pg_attribute.h
+++ b/src/include/catalog/pg_attribute.h
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_attribute.h,v 1.104 2003/08/04 02:40:11 momjian Exp $
+ * $Id: pg_attribute.h,v 1.105 2003/10/16 22:52:22 tgl Exp $
  *
  * NOTES
  *	  the genbki.sh script reads this file and generates .bki
@@ -228,50 +228,50 @@ typedef FormData_pg_attribute *Form_pg_attribute;
 #define Schema_pg_type \
 { 1247, {"typname"},	   19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
 { 1247, {"typnamespace"},  26, -1,	4,	2, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typowner"},	   23, 0,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typlen"},		   21, 0,	2,	4, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1247, {"typbyval"},	   16, 0,	1,	5, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1247, {"typowner"},	   23, -1,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typlen"},		   21, -1,	2,	4, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1247, {"typbyval"},	   16, -1,	1,	5, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
 { 1247, {"typtype"},	   18, -1,	1,	6, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
 { 1247, {"typisdefined"},  16, -1,	1,	7, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1247, {"typdelim"},	   18, 0,	1,	8, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1247, {"typrelid"},	   26, 0,	4,	9, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typelem"},	   26, 0,	4, 10, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typinput"},	   24, 0,	4, 11, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typoutput"},	   24, 0,	4, 12, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typreceive"},    24, 0,	4, 13, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typsend"},	   24, 0,	4, 14, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typalign"},	   18, 0,	1, 15, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1247, {"typstorage"},    18, 0,	1, 16, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1247, {"typnotnull"},    16, 0,	1, 17, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1247, {"typbasetype"},   26, 0,	4, 18, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typtypmod"},	   23, 0,	4, 19, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typndims"},	   23, 0,	4, 20, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1247, {"typdefaultbin"}, 25, 0,  -1, 21, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }, \
-{ 1247, {"typdefault"},    25, 0,  -1, 22, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }
+{ 1247, {"typdelim"},	   18, -1,	1,	8, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1247, {"typrelid"},	   26, -1,	4,	9, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typelem"},	   26, -1,	4, 10, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typinput"},	   24, -1,	4, 11, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typoutput"},	   24, -1,	4, 12, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typreceive"},    24, -1,	4, 13, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typsend"},	   24, -1,	4, 14, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typalign"},	   18, -1,	1, 15, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1247, {"typstorage"},    18, -1,	1, 16, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1247, {"typnotnull"},    16, -1,	1, 17, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1247, {"typbasetype"},   26, -1,	4, 18, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typtypmod"},	   23, -1,	4, 19, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typndims"},	   23, -1,	4, 20, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1247, {"typdefaultbin"}, 25, -1, -1, 21, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }, \
+{ 1247, {"typdefault"},    25, -1, -1, 22, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }
 
 
 DATA(insert ( 1247 typname			19 -1 NAMEDATALEN	1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1247 typnamespace		26 -1 4   2 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typowner			23 0  4   3 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typlen			21 0  2   4 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1247 typbyval			16 0  1   5 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1247 typowner			23 -1 4   3 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typlen			21 -1 2   4 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1247 typbyval			16 -1 1   5 0 -1 -1 t p f c t f f t 0));
 DATA(insert ( 1247 typtype			18 -1 1   6 0 -1 -1 t p f c t f f t 0));
 DATA(insert ( 1247 typisdefined		16 -1 1   7 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1247 typdelim			18 0  1   8 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1247 typrelid			26 0  4   9 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typelem			26 0  4  10 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typinput			24 0  4  11 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typoutput		24 0  4  12 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typreceive		24 0  4  13 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typsend			24 0  4  14 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typalign			18 0  1  15 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1247 typstorage		18 0  1  16 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1247 typnotnull		16 0  1  17 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1247 typbasetype		26 0  4  18 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typtypmod		23 0  4  19 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typndims			23 0  4  20 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1247 typdefaultbin	25 0 -1  21 0 -1 -1 f x f i f f f t 0));
-DATA(insert ( 1247 typdefault		25 0 -1  22 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1247 typdelim			18 -1 1   8 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1247 typrelid			26 -1 4   9 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typelem			26 -1 4  10 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typinput			24 -1 4  11 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typoutput		24 -1 4  12 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typreceive		24 -1 4  13 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typsend			24 -1 4  14 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typalign			18 -1 1  15 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1247 typstorage		18 -1 1  16 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1247 typnotnull		16 -1 1  17 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1247 typbasetype		26 -1 4  18 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typtypmod		23 -1 4  19 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typndims			23 -1 4  20 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1247 typdefaultbin	25 -1 -1 21 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1247 typdefault		25 -1 -1 22 0 -1 -1 f x f i f f f t 0));
 DATA(insert ( 1247 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1247 oid				26 0  4  -2 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1247 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
@@ -284,18 +284,18 @@ DATA(insert ( 1247 tableoid			26 0  4  -7 0 -1 -1 t p f i t f f t 0));
  *		pg_database
  * ----------------
  */
-DATA(insert ( 1262 datname			19 0 NAMEDATALEN   1 0 -1 -1 f p f i t f f t 0));
-DATA(insert ( 1262 datdba			23 0  4   2 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1262 encoding			23 0  4   3 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1262 datistemplate	16 0  1   4 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1262 datallowconn		16 0  1   5 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1262 datlastsysoid	26 0  4   6 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1262 datvacuumxid		28 0  4   7 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1262 datfrozenxid		28 0  4   8 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1262 datname			19 -1 NAMEDATALEN   1 0 -1 -1 f p f i t f f t 0));
+DATA(insert ( 1262 datdba			23 -1 4   2 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1262 encoding			23 -1 4   3 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1262 datistemplate	16 -1 1   4 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1262 datallowconn		16 -1 1   5 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1262 datlastsysoid	26 -1 4   6 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1262 datvacuumxid		28 -1 4   7 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1262 datfrozenxid		28 -1 4   8 0 -1 -1 t p f i t f f t 0));
 /* do not mark datpath as toastable; GetRawDatabaseInfo won't cope */
-DATA(insert ( 1262 datpath			25 0 -1   9 0 -1 -1 f p f i t f f t 0));
-DATA(insert ( 1262 datconfig	  1009 0 -1  10 0 -1 -1 f x f i f f f t 0));
-DATA(insert ( 1262 datacl		  1034 0 -1  11 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1262 datpath			25 -1 -1  9 0 -1 -1 f p f i t f f t 0));
+DATA(insert ( 1262 datconfig	  1009 -1 -1 10 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1262 datacl		  1034 -1 -1 11 0 -1 -1 f x f i f f f t 0));
 DATA(insert ( 1262 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1262 oid				26 0  4  -2 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1262 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
@@ -311,35 +311,35 @@ DATA(insert ( 1262 tableoid			26 0  4  -7 0 -1 -1 t p f i t f f t 0));
 #define Schema_pg_proc \
 { 1255, {"proname"},			19, -1, NAMEDATALEN,  1, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
 { 1255, {"pronamespace"},		26, -1, 4,	2, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1255, {"proowner"},			23, 0,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1255, {"prolang"},			26, 0,	4,	4, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1255, {"proowner"},			23, -1,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1255, {"prolang"},			26, -1,	4,	4, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
 { 1255, {"proisagg"},			16, -1, 1,	5, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1255, {"prosecdef"},			16, 0,	1,	6, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1255, {"proisstrict"},		16, 0,	1,	7, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1255, {"proretset"},			16, 0,	1,	8, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1255, {"provolatile"},		18, 0,	1,	9, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1255, {"pronargs"},			21, 0,	2, 10, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1255, {"prorettype"},			26, 0,	4, 11, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1255, {"proargtypes"},		30, 0, INDEX_MAX_KEYS*4, 12, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1255, {"prosrc"},				25, 0, -1, 13, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }, \
-{ 1255, {"probin"},				17, 0, -1, 14, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }, \
-{ 1255, {"proacl"},			  1034, 0, -1, 15, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }
+{ 1255, {"prosecdef"},			16, -1,	1,	6, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1255, {"proisstrict"},		16, -1,	1,	7, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1255, {"proretset"},			16, -1,	1,	8, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1255, {"provolatile"},		18, -1,	1,	9, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1255, {"pronargs"},			21, -1,	2, 10, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1255, {"prorettype"},			26, -1,	4, 11, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1255, {"proargtypes"},		30, -1, INDEX_MAX_KEYS*4, 12, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1255, {"prosrc"},				25, -1, -1, 13, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }, \
+{ 1255, {"probin"},				17, -1, -1, 14, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }, \
+{ 1255, {"proacl"},			  1034, -1, -1, 15, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }
 
 DATA(insert ( 1255 proname			19 -1 NAMEDATALEN	1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1255 pronamespace		26 -1 4   2 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1255 proowner			23 0  4   3 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1255 prolang			26 0  4   4 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1255 proowner			23 -1 4   3 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1255 prolang			26 -1 4   4 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1255 proisagg			16 -1 1   5 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1255 prosecdef		16 0  1   6 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1255 proisstrict		16 0  1   7 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1255 proretset		16 0  1   8 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1255 provolatile		18 0  1   9 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1255 pronargs			21 0  2  10 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1255 prorettype		26 0  4  11 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1255 proargtypes		30 0 INDEX_MAX_KEYS*4 12 0 -1 -1 f p f i t f f t 0));
-DATA(insert ( 1255 prosrc			25 0 -1  13 0 -1 -1 f x f i f f f t 0));
-DATA(insert ( 1255 probin			17 0 -1  14 0 -1 -1 f x f i f f f t 0));
-DATA(insert ( 1255 proacl		  1034 0 -1  15 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1255 prosecdef		16 -1 1   6 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1255 proisstrict		16 -1 1   7 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1255 proretset		16 -1 1   8 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1255 provolatile		18 -1 1   9 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1255 pronargs			21 -1 2  10 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1255 prorettype		26 -1 4  11 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1255 proargtypes		30 -1 INDEX_MAX_KEYS*4 12 0 -1 -1 f p f i t f f t 0));
+DATA(insert ( 1255 prosrc			25 -1 -1 13 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1255 probin			17 -1 -1 14 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1255 proacl		  1034 -1 -1 15 0 -1 -1 f x f i f f f t 0));
 DATA(insert ( 1255 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1255 oid				26 0  4  -2 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1255 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
@@ -354,12 +354,12 @@ DATA(insert ( 1255 tableoid			26 0  4  -7 0 -1 -1 t p f i t f f t 0));
  */
 DATA(insert ( 1260 usename			19	-1 NAMEDATALEN	1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1260 usesysid			23	-1	4	2 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1260 usecreatedb		16	0	1	3 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1260 usesuper			16	0	1	4 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1260 usecatupd		16	0	1	5 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1260 passwd			25	0  -1	6 0 -1 -1 f x f i f f f t 0));
-DATA(insert ( 1260 valuntil			702 0	4	7 0 -1 -1 t p f i f f f t 0));
-DATA(insert ( 1260 useconfig	  1009	0  -1	8 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1260 usecreatedb		16	-1	1	3 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1260 usesuper			16	-1	1	4 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1260 usecatupd		16	-1	1	5 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1260 passwd			25	-1 -1	6 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1260 valuntil		   702	-1	4	7 0 -1 -1 t p f i f f f t 0));
+DATA(insert ( 1260 useconfig	  1009	-1 -1	8 0 -1 -1 f x f i f f f t 0));
 DATA(insert ( 1260 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 /* no OIDs in pg_shadow */
 DATA(insert ( 1260 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
@@ -374,7 +374,7 @@ DATA(insert ( 1260 tableoid			26 0  4  -7 0 -1 -1 t p f i t f f t 0));
  */
 DATA(insert ( 1261 groname			19 -1 NAMEDATALEN  1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1261 grosysid			23 -1  4   2 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1261 grolist		  1007 0 -1   3 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1261 grolist		  1007 -1 -1   3 0 -1 -1 f x f i f f f t 0));
 DATA(insert ( 1261 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 /* no OIDs in pg_group */
 DATA(insert ( 1261 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
@@ -390,41 +390,41 @@ DATA(insert ( 1261 tableoid			26 0  4  -7 0 -1 -1 t p f i t f f t 0));
 #define Schema_pg_attribute \
 { 1249, {"attrelid"},	  26, -1,	4,	1, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
 { 1249, {"attname"},	  19, -1, NAMEDATALEN,	2, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1249, {"atttypid"},	  26, 0,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1249, {"attstattarget"}, 23, 0,	4,	4, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1249, {"attlen"},		  21, 0,	2,	5, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1249, {"attnum"},		  21, 0,	2,	6, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1249, {"attndims"},	  23, 0,	4,	7, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1249, {"attcacheoff"},  23, 0,	4,	8, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1249, {"atttypmod"},	  23, 0,	4,	9, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1249, {"attbyval"},	  16, 0,	1, 10, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attstorage"},   18, 0,	1, 11, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attisset"},	  16, 0,	1, 12, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attalign"},	  18, 0,	1, 13, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attnotnull"},   16, 0, 1, 14, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"atthasdef"},	  16, 0, 1, 15, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attisdropped"}, 16, 0, 1, 16, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attislocal"},   16, 0, 1, 17, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1249, {"attinhcount"},  23, 0, 4, 18, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }
+{ 1249, {"atttypid"},	  26, -1,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1249, {"attstattarget"}, 23, -1,	4,	4, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1249, {"attlen"},		  21, -1,	2,	5, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1249, {"attnum"},		  21, -1,	2,	6, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1249, {"attndims"},	  23, -1,	4,	7, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1249, {"attcacheoff"},  23, -1,	4,	8, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1249, {"atttypmod"},	  23, -1,	4,	9, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1249, {"attbyval"},	  16, -1,	1, 10, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attstorage"},   18, -1,	1, 11, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attisset"},	  16, -1,	1, 12, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attalign"},	  18, -1,	1, 13, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attnotnull"},   16, -1,	1, 14, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"atthasdef"},	  16, -1,	1, 15, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attisdropped"}, 16, -1,	1, 16, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attislocal"},   16, -1,	1, 17, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1249, {"attinhcount"},  23, -1,	4, 18, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }
 
 DATA(insert ( 1249 attrelid			26 -1  4   1 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1249 attname			19 -1 NAMEDATALEN  2 0 -1 -1 f p f i t f f t 0));
-DATA(insert ( 1249 atttypid			26 0  4   3 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1249 attstattarget	23 0  4   4 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1249 attlen			21 0  2   5 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1249 attnum			21 0  2   6 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1249 attndims			23 0  4   7 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1249 attcacheoff		23 0  4   8 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1249 atttypmod		23 0  4   9 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1249 attbyval			16 0  1  10 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attstorage		18 0  1  11 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attisset			16 0  1  12 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attalign			18 0  1  13 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attnotnull		16 0  1  14 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 atthasdef		16 0  1  15 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attisdropped		16 0  1  16 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attislocal		16 0  1  17 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1249 attinhcount		23 0  4  18 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1249 atttypid			26 -1  4   3 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1249 attstattarget	23 -1  4   4 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1249 attlen			21 -1  2   5 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1249 attnum			21 -1  2   6 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1249 attndims			23 -1  4   7 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1249 attcacheoff		23 -1  4   8 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1249 atttypmod		23 -1  4   9 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1249 attbyval			16 -1  1  10 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attstorage		18 -1  1  11 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attisset			16 -1  1  12 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attalign			18 -1  1  13 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attnotnull		16 -1  1  14 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 atthasdef		16 -1  1  15 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attisdropped		16 -1  1  16 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attislocal		16 -1  1  17 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1249 attinhcount		23 -1  4  18 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1249 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 /* no OIDs in pg_attribute */
 DATA(insert ( 1249 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
@@ -440,53 +440,53 @@ DATA(insert ( 1249 tableoid			26 0  4  -7 0 -1 -1 t p f i t f f t 0));
 #define Schema_pg_class \
 { 1259, {"relname"},	   19, -1, NAMEDATALEN, 1, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
 { 1259, {"relnamespace"},  26, -1,	4,	2, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"reltype"},	   26, 0,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"relowner"},	   23, 0,	4,	4, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"relam"},		   26, 0,	4,	5, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"relfilenode"},   26, 0,	4,	6, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"relpages"},	   23, 0,	4,	7, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"reltuples"},	   700, 0,	4,	8, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"reltoastrelid"}, 26, 0,	4,	9, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"reltoastidxid"}, 26, 0,	4, 10, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
-{ 1259, {"relhasindex"},   16, 0,	1, 11, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1259, {"relisshared"},   16, 0,	1, 12, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1259, {"reltype"},	   26, -1,	4,	3, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"relowner"},	   23, -1,	4,	4, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"relam"},		   26, -1,	4,	5, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"relfilenode"},   26, -1,	4,	6, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"relpages"},	   23, -1,	4,	7, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"reltuples"},	   700, -1,	4,	8, 0, -1, -1, false, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"reltoastrelid"}, 26, -1,	4,	9, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"reltoastidxid"}, 26, -1,	4, 10, 0, -1, -1, true, 'p', false, 'i', true, false, false, true, 0 }, \
+{ 1259, {"relhasindex"},   16, -1,	1, 11, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1259, {"relisshared"},   16, -1,	1, 12, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
 { 1259, {"relkind"},	   18, -1,	1, 13, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1259, {"relnatts"},	   21, 0,	2, 14, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1259, {"relchecks"},	   21, 0,	2, 15, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1259, {"reltriggers"},   21, 0,	2, 16, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1259, {"relukeys"},	   21, 0,	2, 17, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1259, {"relfkeys"},	   21, 0,	2, 18, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1259, {"relrefs"},	   21, 0,	2, 19, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
-{ 1259, {"relhasoids"},    16, 0,	1, 20, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1259, {"relhaspkey"},    16, 0,	1, 21, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1259, {"relhasrules"},   16, 0,	1, 22, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1259, {"relhassubclass"},16, 0,	1, 23, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
-{ 1259, {"relacl"},		 1034, 0,  -1, 24, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }
+{ 1259, {"relnatts"},	   21, -1,	2, 14, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1259, {"relchecks"},	   21, -1,	2, 15, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1259, {"reltriggers"},   21, -1,	2, 16, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1259, {"relukeys"},	   21, -1,	2, 17, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1259, {"relfkeys"},	   21, -1,	2, 18, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1259, {"relrefs"},	   21, -1,	2, 19, 0, -1, -1, true, 'p', false, 's', true, false, false, true, 0 }, \
+{ 1259, {"relhasoids"},    16, -1,	1, 20, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1259, {"relhaspkey"},    16, -1,	1, 21, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1259, {"relhasrules"},   16, -1,	1, 22, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1259, {"relhassubclass"},16, -1,	1, 23, 0, -1, -1, true, 'p', false, 'c', true, false, false, true, 0 }, \
+{ 1259, {"relacl"},		 1034, -1, -1, 24, 0, -1, -1, false, 'x', false, 'i', false, false, false, true, 0 }
 
 DATA(insert ( 1259 relname			19 -1 NAMEDATALEN	1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1259 relnamespace		26 -1 4   2 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 reltype			26 0  4   3 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 relowner			23 0  4   4 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 relam			26 0  4   5 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 relfilenode		26 0  4   6 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 relpages			23 0  4   7 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 reltuples	   700 0  4   8 0 -1 -1 f p f i t f f t 0));
-DATA(insert ( 1259 reltoastrelid	26 0  4   9 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 reltoastidxid	26 0  4  10 0 -1 -1 t p f i t f f t 0));
-DATA(insert ( 1259 relhasindex		16 0  1  11 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1259 relisshared		16 0  1  12 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1259 reltype			26 -1 4   3 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 relowner			23 -1 4   4 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 relam			26 -1 4   5 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 relfilenode		26 -1 4   6 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 relpages			23 -1 4   7 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 reltuples	   700 -1 4   8 0 -1 -1 f p f i t f f t 0));
+DATA(insert ( 1259 reltoastrelid	26 -1 4   9 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 reltoastidxid	26 -1 4  10 0 -1 -1 t p f i t f f t 0));
+DATA(insert ( 1259 relhasindex		16 -1 1  11 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1259 relisshared		16 -1 1  12 0 -1 -1 t p f c t f f t 0));
 DATA(insert ( 1259 relkind			18 -1 1  13 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1259 relnatts			21 0  2  14 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1259 relchecks		21 0  2  15 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1259 reltriggers		21 0  2  16 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1259 relukeys			21 0  2  17 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1259 relfkeys			21 0  2  18 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1259 relrefs			21 0  2  19 0 -1 -1 t p f s t f f t 0));
-DATA(insert ( 1259 relhasoids		16 0  1  20 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1259 relhaspkey		16 0  1  21 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1259 relhasrules		16 0  1  22 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1259 relhassubclass	16 0  1  23 0 -1 -1 t p f c t f f t 0));
-DATA(insert ( 1259 relacl		  1034 0 -1  24 0 -1 -1 f x f i f f f t 0));
+DATA(insert ( 1259 relnatts			21 -1 2  14 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1259 relchecks		21 -1 2  15 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1259 reltriggers		21 -1 2  16 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1259 relukeys			21 -1 2  17 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1259 relfkeys			21 -1 2  18 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1259 relrefs			21 -1 2  19 0 -1 -1 t p f s t f f t 0));
+DATA(insert ( 1259 relhasoids		16 -1 1  20 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1259 relhaspkey		16 -1 1  21 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1259 relhasrules		16 -1 1  22 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1259 relhassubclass	16 -1 1  23 0 -1 -1 t p f c t f f t 0));
+DATA(insert ( 1259 relacl		  1034 -1 -1 24 0 -1 -1 f x f i f f f t 0));
 DATA(insert ( 1259 ctid				27 0  6  -1 0 -1 -1 f p f i t f f t 0));
 DATA(insert ( 1259 oid				26 0  4  -2 0 -1 -1 t p f i t f f t 0));
 DATA(insert ( 1259 xmin				28 0  4  -3 0 -1 -1 t p f i t f f t 0));
-- 
GitLab