I have received several earnest requests over the years for LaTeX
'longtable' output, and I have just implemented it based on a sample
LaTeX longtable output file.

I have called it 'latex-longtable' and implemented all the behaviors of
ordinary latex mode.   One feature is that in latex-longtable mode,
'tableattr' allows control over the column widths --- that seemed to be
very important to the users.  One requested change I made to the
ordinary latex output was to suppress the line under the table title if
border = 0 (default is border = 1).

Patch and sample output attached.  I would like to apply this for PG
9.3.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
new file mode 100644
index c41593c..932c7ca
*** a/doc/src/sgml/ref/psql-ref.sgml
--- b/doc/src/sgml/ref/psql-ref.sgml
*************** lo_import 152801
*** 1979,1985 ****
            Sets the output format to one of <literal>unaligned</literal>,
            <literal>aligned</literal>, <literal>wrapped</literal>,
            <literal>html</literal>,
!           <literal>latex</literal>, or <literal>troff-ms</literal>.
            Unique abbreviations are allowed.  (That would mean one letter
            is enough.)
            </para>
--- 1979,1986 ----
            Sets the output format to one of <literal>unaligned</literal>,
            <literal>aligned</literal>, <literal>wrapped</literal>,
            <literal>html</literal>,
!           <literal>latex</literal>, <literal>latex-longtable</literal>,
!           or <literal>troff-ms</literal>.
            Unique abbreviations are allowed.  (That would mean one letter
            is enough.)
            </para>
*************** lo_import 152801
*** 2005,2016 ****
            </para>
  
            <para>
!           The <literal>html</>, <literal>latex</>, and <literal>troff-ms</>
            formats put out tables that are intended to
            be included in documents using the respective mark-up
            language. They are not complete documents! (This might not be
!           so dramatic in <acronym>HTML</acronym>, but in <application>LaTeX</application> you must
!           have a complete document wrapper.)
            </para>
            </listitem>
            </varlistentry>
--- 2006,2019 ----
            </para>
  
            <para>
!           The <literal>html</>, <literal>latex</>,
!           <literal>latex-longtable</literal>, and <literal>troff-ms</>
            formats put out tables that are intended to
            be included in documents using the respective mark-up
            language. They are not complete documents! (This might not be
!           so dramatic in <acronym>HTML</acronym>, but in
!           <application>LaTeX</application> you must have a complete
!           document wrapper.)
            </para>
            </listitem>
            </varlistentry>
*************** lo_import 152801
*** 2141,2149 ****
            <term><literal>tableattr</literal> (or <literal>T</literal>)</term>
            <listitem>
            <para>
!           Specifies attributes to be placed inside the
!           <acronym>HTML</acronym> <sgmltag>table</sgmltag> tag in
!           <literal>html</> output format. This
            could for example be <literal>cellpadding</literal> or
            <literal>bgcolor</literal>. Note that you probably don't want
            to specify <literal>border</literal> here, as that is already
--- 2144,2151 ----
            <term><literal>tableattr</literal> (or <literal>T</literal>)</term>
            <listitem>
            <para>
!           In <acronym>HTML</acronym> format, this specifies attributes
!           to be placed inside the <sgmltag>table</sgmltag> tag.  This
            could for example be <literal>cellpadding</literal> or
            <literal>bgcolor</literal>. Note that you probably don't want
            to specify <literal>border</literal> here, as that is already
*************** lo_import 152801
*** 2152,2157 ****
--- 2154,2165 ----
            <replaceable class="parameter">value</replaceable> is given,
            the table attributes are unset.
            </para>
+           <para>
+           In <acronym>latex-longtable</acronym> format, this controls
+           the proportional width of each column.  It is specified as a
+           space-separated list of values, e.g. <literal>'0.2 0.2 0.6'</>.
+           Unspecified output columns will use the last specified value.
+           </para>
            </listitem>
            </varlistentry>
  
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
new file mode 100644
index 59f8b03..740884f
*** a/src/bin/psql/command.c
--- b/src/bin/psql/command.c
*************** _align2string(enum printFormat in)
*** 2164,2169 ****
--- 2164,2172 ----
  		case PRINT_LATEX:
  			return "latex";
  			break;
+ 		case PRINT_LATEX_LONGTABLE:
+ 			return "latex-longtable";
+ 			break;
  		case PRINT_TROFF_MS:
  			return "troff-ms";
  			break;
*************** do_pset(const char *param, const char *v
*** 2197,2202 ****
--- 2200,2207 ----
  			popt->topt.format = PRINT_HTML;
  		else if (pg_strncasecmp("latex", value, vallen) == 0)
  			popt->topt.format = PRINT_LATEX;
+ 		else if (pg_strncasecmp("latex-longtable", value, vallen) == 0)
+ 			popt->topt.format = PRINT_LATEX_LONGTABLE;
  		else if (pg_strncasecmp("troff-ms", value, vallen) == 0)
  			popt->topt.format = PRINT_TROFF_MS;
  		else
diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
new file mode 100644
index 466c255..6839d6c
*** a/src/bin/psql/print.c
--- b/src/bin/psql/print.c
*************** print_latex_text(const printTableContent
*** 1656,1662 ****
  				fputc('}', fout);
  			}
  			fputs(" \\\\\n", fout);
! 			fputs("\\hline\n", fout);
  		}
  	}
  
--- 1656,1663 ----
  				fputc('}', fout);
  			}
  			fputs(" \\\\\n", fout);
! 			if (opt_border != 0)
! 				fputs("\\hline\n", fout);
  		}
  	}
  
*************** print_latex_text(const printTableContent
*** 1702,1707 ****
--- 1703,1843 ----
  
  
  static void
+ print_latex_text_longtable(const printTableContent *cont, FILE *fout)
+ {
+ #define LONGTABLE_WHITESPACE	" \t\n"
+ 
+ 	bool		opt_tuples_only = cont->opt->tuples_only;
+ 	unsigned short opt_border = cont->opt->border;
+ 	unsigned int i;
+ 	const char *opt_table_attr = cont->opt->tableAttr;
+ 	const char *next_opt_table_attr_char = opt_table_attr;
+ 	const char *last_opt_table_attr_char = NULL;
+ 	const char *const * ptr;
+ 
+ 	if (cancel_pressed)
+ 		return;
+ 
+ 	if (opt_border > 2)
+ 		opt_border = 2;
+ 
+ 	if (cont->opt->start_table)
+ 	{
+ 		/* print title */
+ 		if (!opt_tuples_only && cont->title)
+ 		{
+ 			fputs("\\begin{center}\n", fout);
+ 			latex_escaped_print(cont->title, fout);
+ 			fputs("\n\\end{center}\n\n", fout);
+ 		}
+ 
+ 		/* begin environment and set alignments and borders */
+ 		fputs("\\begin{longtable}{", fout);
+ 
+ 		if (opt_border == 2)
+ 			fputs("| ", fout);
+ 		for (i = 0; i < cont->ncolumns; i++)
+ 		{
+ 			fputc('p', fout);
+ 			fputc(*(cont->aligns + i), fout);
+ 			/* Was a proportional width specified? */
+ 			if (opt_table_attr)
+ 			{
+ 				/* advance over whitespace */
+ 				next_opt_table_attr_char += strspn(next_opt_table_attr_char,
+ 												   LONGTABLE_WHITESPACE);
+ 				/* We have a value? */
+ 				if (next_opt_table_attr_char[0] != '\0')
+ 				{
+ 					fputc('{', fout);
+ 					fwrite(next_opt_table_attr_char, strcspn(next_opt_table_attr_char,
+ 						   LONGTABLE_WHITESPACE), 1, fout);
+ 					last_opt_table_attr_char = next_opt_table_attr_char;
+ 					next_opt_table_attr_char += strcspn(next_opt_table_attr_char,
+ 													    LONGTABLE_WHITESPACE);
+ 					fputs("\\textwidth}", fout);
+ 				}
+ 				/* use previous value */
+ 				else if (last_opt_table_attr_char != NULL)
+ 				{
+ 					fputc('{', fout);
+ 					fwrite(last_opt_table_attr_char, strcspn(last_opt_table_attr_char,
+ 						   LONGTABLE_WHITESPACE), 1, fout);
+ 					fputs("\\textwidth}", fout);
+ 				}
+ 			}
+ 			if (opt_border != 0 && i < cont->ncolumns - 1)
+ 				fputs(" | ", fout);
+ 		}
+ 		if (opt_border == 2)
+ 			fputs(" |", fout);
+ 
+ 		fputs("}\n", fout);
+ 
+ 		if (!opt_tuples_only && opt_border == 2)
+ 			fputs("\\hline\n", fout);
+ 
+ 		/* print headers */
+ 		if (!opt_tuples_only)
+ 		{
+ 			fputs("\\toprule\n", fout);
+ 			for (i = 0, ptr = cont->headers; i < cont->ncolumns; i++, ptr++)
+ 			{
+ 				if (i != 0)
+ 					fputs(" & ", fout);
+ 				fputs("\\small\\textbf{\\textit{", fout);
+ 				latex_escaped_print(*ptr, fout);
+ 				fputs("}}", fout);
+ 			}
+ 			fputs(" \\\\\n", fout);
+ 			fputs("\\midrule\n\\endfirsthead\n\\toprule\n", fout);
+ 			for (i = 0, ptr = cont->headers; i < cont->ncolumns; i++, ptr++)
+ 			{
+ 				if (i != 0)
+ 					fputs(" & ", fout);
+ 				fputs("\\small\\textbf{\\textit{", fout);
+ 				latex_escaped_print(*ptr, fout);
+ 				fputs("}}", fout);
+ 			}
+ 			fputs(" \\\\\n", fout);
+ 			fputs("\\midrule\n\\endhead\n", fout);
+ 			if (cont->headers)
+ 			{
+ 				fputs("\\bottomrule\n", fout);
+ 				fprintf(fout, "\\caption[%s. (Continued)]{%s.}\n",
+ 						*cont->headers, *cont->headers);
+ 				fputs("\\endfoot\n", fout);
+ 				fputs("\\bottomrule\n", fout);
+ 				fprintf(fout, "\\caption[%s.]{%s.}\n",
+ 						*cont->headers, *cont->headers);
+ 				fputs("\\endlastfoot\n", fout);
+ 			}
+ 			if (opt_border != 0)
+ 				fputs("\\hline\n", fout);
+ 		}
+ 	}
+ 
+ 	/* print cells */
+ 	for (i = 0, ptr = cont->cells; *ptr; i++, ptr++)
+ 	{
+ 		if (i != 0 && i % cont->ncolumns != 0)
+ 			fputs("\n&\n", fout);
+ 		fputs("\\raggedright{", fout);
+ 		latex_escaped_print(*ptr, fout);
+ 		fputc('}', fout);
+ 		if ((i + 1) % cont->ncolumns == 0)
+ 			fputs(" \\tabularnewline\n", fout);
+ 		if (cancel_pressed)
+ 			break;
+ 	}
+ 
+ 	if (opt_border == 2)
+ 		fputs("\\hline\n", fout);
+ 	fputs("\\end{longtable}\n", fout);
+ }
+ 
+ 
+ static void
  print_latex_vertical(const printTableContent *cont, FILE *fout)
  {
  	bool		opt_tuples_only = cont->opt->tuples_only;
*************** printTable(const printTableContent *cont
*** 2394,2399 ****
--- 2530,2541 ----
  			else
  				print_latex_text(cont, fout);
  			break;
+ 		case PRINT_LATEX_LONGTABLE:
+ 			if (cont->opt->expanded == 1)
+ 				print_latex_vertical(cont, fout);
+ 			else
+ 				print_latex_text_longtable(cont, fout);
+ 			break;
  		case PRINT_TROFF_MS:
  			if (cont->opt->expanded == 1)
  				print_troff_ms_vertical(cont, fout);
diff --git a/src/bin/psql/print.h b/src/bin/psql/print.h
new file mode 100644
index 63ba4a5..9cfa3b6
*** a/src/bin/psql/print.h
--- b/src/bin/psql/print.h
*************** enum printFormat
*** 19,24 ****
--- 19,25 ----
  	PRINT_WRAPPED,
  	PRINT_HTML,
  	PRINT_LATEX,
+ 	PRINT_LATEX_LONGTABLE,
  	PRINT_TROFF_MS
  	/* add your favourite output format here ... */
  };
Output format is latex-longtable.
Border style is 2.
Table attribute is "0.5 0.15 0.15".
\begin{longtable}{| pl{0.5\textwidth} | pr{0.15\textwidth} | pr{0.15\textwidth} 
|}
\hline
\toprule
\small\textbf{\textit{Relation Name}} & \small\textbf{\textit{Name Space}} & 
\small\textbf{\textit{Description}} \\
\midrule
\endfirsthead
\toprule
\small\textbf{\textit{Relation Name}} & \small\textbf{\textit{Name Space}} & 
\small\textbf{\textit{Description}} \\
\midrule
\endhead
\bottomrule
\caption[Relation Name. (Continued)]{Relation Name.}
\endfoot
\bottomrule
\caption[Relation Name.]{Relation Name.}
\endlastfoot
\hline
\raggedright{pg\_statistic}
&
\raggedright{11}
&
\raggedright{10817} \tabularnewline
\raggedright{pg\_type}
&
\raggedright{11}
&
\raggedright{71} \tabularnewline
\raggedright{pg\_database}
&
\raggedright{11}
&
\raggedright{1248} \tabularnewline
\raggedright{pg\_toast\_2619}
&
\raggedright{99}
&
\raggedright{11049} \tabularnewline
\raggedright{pg\_toast\_2619\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_authid\_rolname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_authid\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_attribute\_relid\_attnam\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_attribute\_relid\_attnum\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_1255}
&
\raggedright{99}
&
\raggedright{11046} \tabularnewline
\raggedright{pg\_toast\_1255\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2604}
&
\raggedright{99}
&
\raggedright{11043} \tabularnewline
\raggedright{pg\_toast\_2604\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2606}
&
\raggedright{99}
&
\raggedright{11044} \tabularnewline
\raggedright{pg\_toast\_2606\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_constraint\_conname\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_am\_name\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_am\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_amop\_fam\_strat\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_amop\_opr\_fam\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_amop\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_amproc\_fam\_proc\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_amproc\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_aggregate\_fnoid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2618}
&
\raggedright{99}
&
\raggedright{11047} \tabularnewline
\raggedright{pg\_toast\_2618\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2620}
&
\raggedright{99}
&
\raggedright{11050} \tabularnewline
\raggedright{pg\_toast\_2620\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2609}
&
\raggedright{99}
&
\raggedright{11045} \tabularnewline
\raggedright{pg\_toast\_2609\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_cast\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_cast\_source\_target\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2964}
&
\raggedright{99}
&
\raggedright{11052} \tabularnewline
\raggedright{pg\_toast\_2964\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_auth\_members\_role\_member\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_auth\_members\_member\_role\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_2396}
&
\raggedright{99}
&
\raggedright{11051} \tabularnewline
\raggedright{pg\_toast\_2396\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_3596}
&
\raggedright{99}
&
\raggedright{11048} \tabularnewline
\raggedright{pg\_toast\_3596\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_collation\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_collation\_name\_enc\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_database\_datname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_database\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_proc\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_inherits\_parent\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_index\_indrelid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_index\_indexrelid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_operator\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_operator\_oprname\_l\_r\_n\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_opfamily\_am\_name\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_opfamily\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_opclass\_am\_name\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_opclass\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_language\_name\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_language\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_largeobject\_metadata\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_rewrite\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_rewrite\_rel\_rulename\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_trigger\_tgconstraint\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_trigger\_tgrelid\_tgname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_event\_trigger\_evtname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_event\_trigger\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_description\_o\_c\_o\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_enum\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_enum\_typid\_label\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_namespace\_nspname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_namespace\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_conversion\_default\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_conversion\_name\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_conversion\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_depend\_depender\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_depend\_reference\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_tablespace\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_tablespace\_spcname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_pltemplate\_name\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_shdepend\_depender\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_shdepend\_reference\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_shdescription\_o\_c\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_config\_cfgname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_config\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_config\_map\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_dict\_dictname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_dict\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_largeobject\_loid\_pn\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_type\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_roles}
&
\raggedright{11}
&
\raggedright{11054} \tabularnewline
\raggedright{pg\_shadow}
&
\raggedright{11}
&
\raggedright{11057} \tabularnewline
\raggedright{pg\_type\_typname\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_authid}
&
\raggedright{11}
&
\raggedright{2842} \tabularnewline
\raggedright{pg\_user\_mapping\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_user\_mapping\_user\_server\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_group}
&
\raggedright{11}
&
\raggedright{11060} \tabularnewline
\raggedright{pg\_user}
&
\raggedright{11}
&
\raggedright{11063} \tabularnewline
\raggedright{pg\_rules}
&
\raggedright{11}
&
\raggedright{11066} \tabularnewline
\raggedright{pg\_views}
&
\raggedright{11}
&
\raggedright{11070} \tabularnewline
\raggedright{pg\_tables}
&
\raggedright{11}
&
\raggedright{11074} \tabularnewline
\raggedright{pg\_indexes}
&
\raggedright{11}
&
\raggedright{11078} \tabularnewline
\raggedright{pg\_stats}
&
\raggedright{11}
&
\raggedright{11082} \tabularnewline
\raggedright{pg\_locks}
&
\raggedright{11}
&
\raggedright{11086} \tabularnewline
\raggedright{pg\_cursors}
&
\raggedright{11}
&
\raggedright{11089} \tabularnewline
\raggedright{pg\_settings}
&
\raggedright{11}
&
\raggedright{11109} \tabularnewline
\raggedright{pg\_available\_extensions}
&
\raggedright{11}
&
\raggedright{11092} \tabularnewline
\raggedright{pg\_available\_extension\_versions}
&
\raggedright{11}
&
\raggedright{11095} \tabularnewline
\raggedright{pg\_prepared\_xacts}
&
\raggedright{11}
&
\raggedright{11098} \tabularnewline
\raggedright{pg\_prepared\_statements}
&
\raggedright{11}
&
\raggedright{11102} \tabularnewline
\raggedright{pg\_seclabels}
&
\raggedright{11}
&
\raggedright{11105} \tabularnewline
\raggedright{pg\_timezone\_abbrevs}
&
\raggedright{11}
&
\raggedright{11114} \tabularnewline
\raggedright{pg\_timezone\_names}
&
\raggedright{11}
&
\raggedright{11117} \tabularnewline
\raggedright{pg\_stat\_all\_tables}
&
\raggedright{11}
&
\raggedright{11120} \tabularnewline
\raggedright{pg\_stat\_xact\_all\_tables}
&
\raggedright{11}
&
\raggedright{11124} \tabularnewline
\raggedright{pg\_ts\_parser\_prsname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_template\_tmplname\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_template\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_extension\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_extension\_name\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_foreign\_data\_wrapper\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_foreign\_data\_wrapper\_name\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_foreign\_server\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_foreign\_server\_name\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_foreign\_table\_relid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_default\_acl\_role\_nsp\_obj\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_default\_acl\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_seclabel\_object\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_shseclabel\_object\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_range\_rngtypid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_stat\_sys\_tables}
&
\raggedright{11}
&
\raggedright{11128} \tabularnewline
\raggedright{pg\_stat\_xact\_sys\_tables}
&
\raggedright{11}
&
\raggedright{11132} \tabularnewline
\raggedright{pg\_stat\_user\_tables}
&
\raggedright{11}
&
\raggedright{11135} \tabularnewline
\raggedright{pg\_stat\_xact\_user\_tables}
&
\raggedright{11}
&
\raggedright{11139} \tabularnewline
\raggedright{pg\_statio\_all\_tables}
&
\raggedright{11}
&
\raggedright{11142} \tabularnewline
\raggedright{pg\_statio\_sys\_tables}
&
\raggedright{11}
&
\raggedright{11146} \tabularnewline
\raggedright{pg\_statio\_user\_tables}
&
\raggedright{11}
&
\raggedright{11149} \tabularnewline
\raggedright{pg\_stat\_all\_indexes}
&
\raggedright{11}
&
\raggedright{11152} \tabularnewline
\raggedright{pg\_stat\_sys\_indexes}
&
\raggedright{11}
&
\raggedright{11156} \tabularnewline
\raggedright{pg\_proc}
&
\raggedright{11}
&
\raggedright{81} \tabularnewline
\raggedright{pg\_statio\_user\_indexes}
&
\raggedright{11}
&
\raggedright{11169} \tabularnewline
\raggedright{pg\_statio\_all\_sequences}
&
\raggedright{11}
&
\raggedright{11172} \tabularnewline
\raggedright{pg\_class}
&
\raggedright{11}
&
\raggedright{83} \tabularnewline
\raggedright{pg\_statio\_sys\_sequences}
&
\raggedright{11}
&
\raggedright{11176} \tabularnewline
\raggedright{pg\_statio\_user\_sequences}
&
\raggedright{11}
&
\raggedright{11179} \tabularnewline
\raggedright{pg\_stat\_activity}
&
\raggedright{11}
&
\raggedright{11182} \tabularnewline
\raggedright{pg\_stat\_replication}
&
\raggedright{11}
&
\raggedright{11185} \tabularnewline
\raggedright{pg\_stat\_database}
&
\raggedright{11}
&
\raggedright{11188} \tabularnewline
\raggedright{pg\_stat\_database\_conflicts}
&
\raggedright{11}
&
\raggedright{11191} \tabularnewline
\raggedright{pg\_stat\_user\_functions}
&
\raggedright{11}
&
\raggedright{11194} \tabularnewline
\raggedright{pg\_stat\_xact\_user\_functions}
&
\raggedright{11}
&
\raggedright{11198} \tabularnewline
\raggedright{pg\_stat\_bgwriter}
&
\raggedright{11}
&
\raggedright{11202} \tabularnewline
\raggedright{pg\_user\_mappings}
&
\raggedright{11}
&
\raggedright{11205} \tabularnewline
\raggedright{pg\_user\_mapping}
&
\raggedright{11}
&
\raggedright{11036} \tabularnewline
\raggedright{pg\_attribute}
&
\raggedright{11}
&
\raggedright{75} \tabularnewline
\raggedright{pg\_constraint}
&
\raggedright{11}
&
\raggedright{10001} \tabularnewline
\raggedright{pg\_inherits}
&
\raggedright{11}
&
\raggedright{10002} \tabularnewline
\raggedright{pg\_operator}
&
\raggedright{11}
&
\raggedright{10004} \tabularnewline
\raggedright{pg\_opfamily}
&
\raggedright{11}
&
\raggedright{10005} \tabularnewline
\raggedright{pg\_opclass}
&
\raggedright{11}
&
\raggedright{10006} \tabularnewline
\raggedright{pg\_am}
&
\raggedright{11}
&
\raggedright{10117} \tabularnewline
\raggedright{pg\_amop}
&
\raggedright{11}
&
\raggedright{10118} \tabularnewline
\raggedright{pg\_amproc}
&
\raggedright{11}
&
\raggedright{10521} \tabularnewline
\raggedright{pg\_language}
&
\raggedright{11}
&
\raggedright{10813} \tabularnewline
\raggedright{pg\_largeobject\_metadata}
&
\raggedright{11}
&
\raggedright{10814} \tabularnewline
\raggedright{pg\_aggregate}
&
\raggedright{11}
&
\raggedright{10816} \tabularnewline
\raggedright{pg\_rewrite}
&
\raggedright{11}
&
\raggedright{10818} \tabularnewline
\raggedright{pg\_trigger}
&
\raggedright{11}
&
\raggedright{10819} \tabularnewline
\raggedright{pg\_stat\_user\_indexes}
&
\raggedright{11}
&
\raggedright{11159} \tabularnewline
\raggedright{pg\_statio\_all\_indexes}
&
\raggedright{11}
&
\raggedright{11162} \tabularnewline
\raggedright{pg\_statio\_sys\_indexes}
&
\raggedright{11}
&
\raggedright{11166} \tabularnewline
\raggedright{information\_schema\_catalog\_name}
&
\raggedright{11480}
&
\raggedright{11498} \tabularnewline
\raggedright{applicable\_roles}
&
\raggedright{11480}
&
\raggedright{11504} \tabularnewline
\raggedright{administrable\_role\_authorizations}
&
\raggedright{11480}
&
\raggedright{11508} \tabularnewline
\raggedright{attributes}
&
\raggedright{11480}
&
\raggedright{11511} \tabularnewline
\raggedright{character\_sets}
&
\raggedright{11480}
&
\raggedright{11515} \tabularnewline
\raggedright{check\_constraint\_routine\_usage}
&
\raggedright{11480}
&
\raggedright{11519} \tabularnewline
\raggedright{check\_constraints}
&
\raggedright{11480}
&
\raggedright{11523} \tabularnewline
\raggedright{pg\_description}
&
\raggedright{11}
&
\raggedright{10821} \tabularnewline
\raggedright{pg\_cast}
&
\raggedright{11}
&
\raggedright{10822} \tabularnewline
\raggedright{pg\_enum}
&
\raggedright{11}
&
\raggedright{11019} \tabularnewline
\raggedright{pg\_namespace}
&
\raggedright{11}
&
\raggedright{11020} \tabularnewline
\raggedright{pg\_conversion}
&
\raggedright{11}
&
\raggedright{11021} \tabularnewline
\raggedright{pg\_depend}
&
\raggedright{11}
&
\raggedright{11022} \tabularnewline
\raggedright{pg\_db\_role\_setting}
&
\raggedright{11}
&
\raggedright{11023} \tabularnewline
\raggedright{pg\_tablespace}
&
\raggedright{11}
&
\raggedright{11024} \tabularnewline
\raggedright{pg\_pltemplate}
&
\raggedright{11}
&
\raggedright{11025} \tabularnewline
\raggedright{pg\_auth\_members}
&
\raggedright{11}
&
\raggedright{2843} \tabularnewline
\raggedright{pg\_shdepend}
&
\raggedright{11}
&
\raggedright{11026} \tabularnewline
\raggedright{pg\_shdescription}
&
\raggedright{11}
&
\raggedright{11027} \tabularnewline
\raggedright{pg\_ts\_config}
&
\raggedright{11}
&
\raggedright{11028} \tabularnewline
\raggedright{pg\_ts\_config\_map}
&
\raggedright{11}
&
\raggedright{11029} \tabularnewline
\raggedright{pg\_ts\_dict}
&
\raggedright{11}
&
\raggedright{11030} \tabularnewline
\raggedright{pg\_ts\_parser}
&
\raggedright{11}
&
\raggedright{11031} \tabularnewline
\raggedright{pg\_ts\_template}
&
\raggedright{11}
&
\raggedright{11032} \tabularnewline
\raggedright{pg\_extension}
&
\raggedright{11}
&
\raggedright{11033} \tabularnewline
\raggedright{pg\_foreign\_data\_wrapper}
&
\raggedright{11}
&
\raggedright{11034} \tabularnewline
\raggedright{pg\_foreign\_server}
&
\raggedright{11}
&
\raggedright{11035} \tabularnewline
\raggedright{pg\_foreign\_table}
&
\raggedright{11}
&
\raggedright{11037} \tabularnewline
\raggedright{pg\_default\_acl}
&
\raggedright{11}
&
\raggedright{11038} \tabularnewline
\raggedright{pg\_seclabel}
&
\raggedright{11}
&
\raggedright{11039} \tabularnewline
\raggedright{pg\_shseclabel}
&
\raggedright{11}
&
\raggedright{11040} \tabularnewline
\raggedright{pg\_collation}
&
\raggedright{11}
&
\raggedright{11041} \tabularnewline
\raggedright{pg\_range}
&
\raggedright{11}
&
\raggedright{11042} \tabularnewline
\raggedright{pg\_largeobject}
&
\raggedright{11}
&
\raggedright{10815} \tabularnewline
\raggedright{collations}
&
\raggedright{11480}
&
\raggedright{11527} \tabularnewline
\raggedright{collation\_character\_set\_applicability}
&
\raggedright{11480}
&
\raggedright{11530} \tabularnewline
\raggedright{column\_domain\_usage}
&
\raggedright{11480}
&
\raggedright{11533} \tabularnewline
\raggedright{column\_privileges}
&
\raggedright{11480}
&
\raggedright{11537} \tabularnewline
\raggedright{column\_udt\_usage}
&
\raggedright{11480}
&
\raggedright{11541} \tabularnewline
\raggedright{columns}
&
\raggedright{11480}
&
\raggedright{11545} \tabularnewline
\raggedright{constraint\_column\_usage}
&
\raggedright{11480}
&
\raggedright{11549} \tabularnewline
\raggedright{constraint\_table\_usage}
&
\raggedright{11480}
&
\raggedright{11553} \tabularnewline
\raggedright{domain\_constraints}
&
\raggedright{11480}
&
\raggedright{11557} \tabularnewline
\raggedright{domain\_udt\_usage}
&
\raggedright{11480}
&
\raggedright{11561} \tabularnewline
\raggedright{domains}
&
\raggedright{11480}
&
\raggedright{11564} \tabularnewline
\raggedright{enabled\_roles}
&
\raggedright{11480}
&
\raggedright{11568} \tabularnewline
\raggedright{key\_column\_usage}
&
\raggedright{11480}
&
\raggedright{11571} \tabularnewline
\raggedright{parameters}
&
\raggedright{11480}
&
\raggedright{11575} \tabularnewline
\raggedright{referential\_constraints}
&
\raggedright{11480}
&
\raggedright{11579} \tabularnewline
\raggedright{role\_column\_grants}
&
\raggedright{11480}
&
\raggedright{11583} \tabularnewline
\raggedright{routine\_privileges}
&
\raggedright{11480}
&
\raggedright{11586} \tabularnewline
\raggedright{role\_routine\_grants}
&
\raggedright{11480}
&
\raggedright{11590} \tabularnewline
\raggedright{routines}
&
\raggedright{11480}
&
\raggedright{11593} \tabularnewline
\raggedright{schemata}
&
\raggedright{11480}
&
\raggedright{11597} \tabularnewline
\raggedright{sequences}
&
\raggedright{11480}
&
\raggedright{11600} \tabularnewline
\raggedright{sql\_implementation\_info}
&
\raggedright{11480}
&
\raggedright{11609} \tabularnewline
\raggedright{pg\_toast\_11608}
&
\raggedright{99}
&
\raggedright{11611} \tabularnewline
\raggedright{pg\_toast\_11608\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{sql\_languages}
&
\raggedright{11480}
&
\raggedright{11614} \tabularnewline
\raggedright{pg\_toast\_11613}
&
\raggedright{99}
&
\raggedright{11616} \tabularnewline
\raggedright{pg\_toast\_11613\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{sql\_packages}
&
\raggedright{11480}
&
\raggedright{11619} \tabularnewline
\raggedright{pg\_toast\_11618}
&
\raggedright{99}
&
\raggedright{11621} \tabularnewline
\raggedright{pg\_toast\_11618\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{sql\_parts}
&
\raggedright{11480}
&
\raggedright{11624} \tabularnewline
\raggedright{pg\_toast\_11623}
&
\raggedright{99}
&
\raggedright{11626} \tabularnewline
\raggedright{pg\_toast\_11623\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{sql\_sizing}
&
\raggedright{11480}
&
\raggedright{11629} \tabularnewline
\raggedright{pg\_toast\_11628}
&
\raggedright{99}
&
\raggedright{11631} \tabularnewline
\raggedright{pg\_toast\_11633}
&
\raggedright{99}
&
\raggedright{11636} \tabularnewline
\raggedright{table\_constraints}
&
\raggedright{11480}
&
\raggedright{11639} \tabularnewline
\raggedright{table\_privileges}
&
\raggedright{11480}
&
\raggedright{11643} \tabularnewline
\raggedright{role\_table\_grants}
&
\raggedright{11480}
&
\raggedright{11647} \tabularnewline
\raggedright{tables}
&
\raggedright{11480}
&
\raggedright{11650} \tabularnewline
\raggedright{triggered\_update\_columns}
&
\raggedright{11480}
&
\raggedright{11654} \tabularnewline
\raggedright{triggers}
&
\raggedright{11480}
&
\raggedright{11658} \tabularnewline
\raggedright{udt\_privileges}
&
\raggedright{11480}
&
\raggedright{11662} \tabularnewline
\raggedright{role\_udt\_grants}
&
\raggedright{11480}
&
\raggedright{11666} \tabularnewline
\raggedright{usage\_privileges}
&
\raggedright{11480}
&
\raggedright{11669} \tabularnewline
\raggedright{role\_usage\_grants}
&
\raggedright{11480}
&
\raggedright{11673} \tabularnewline
\raggedright{user\_defined\_types}
&
\raggedright{11480}
&
\raggedright{11676} \tabularnewline
\raggedright{view\_column\_usage}
&
\raggedright{11480}
&
\raggedright{11680} \tabularnewline
\raggedright{view\_routine\_usage}
&
\raggedright{11480}
&
\raggedright{11684} \tabularnewline
\raggedright{view\_table\_usage}
&
\raggedright{11480}
&
\raggedright{11688} \tabularnewline
\raggedright{views}
&
\raggedright{11480}
&
\raggedright{11692} \tabularnewline
\raggedright{data\_type\_privileges}
&
\raggedright{11480}
&
\raggedright{11696} \tabularnewline
\raggedright{element\_types}
&
\raggedright{11480}
&
\raggedright{11700} \tabularnewline
\raggedright{\_pg\_foreign\_table\_columns}
&
\raggedright{11480}
&
\raggedright{11704} \tabularnewline
\raggedright{column\_options}
&
\raggedright{11480}
&
\raggedright{11708} \tabularnewline
\raggedright{\_pg\_foreign\_data\_wrappers}
&
\raggedright{11480}
&
\raggedright{11711} \tabularnewline
\raggedright{foreign\_data\_wrapper\_options}
&
\raggedright{11480}
&
\raggedright{11714} \tabularnewline
\raggedright{foreign\_data\_wrappers}
&
\raggedright{11480}
&
\raggedright{11717} \tabularnewline
\raggedright{\_pg\_foreign\_servers}
&
\raggedright{11480}
&
\raggedright{11720} \tabularnewline
\raggedright{foreign\_server\_options}
&
\raggedright{11480}
&
\raggedright{11723} \tabularnewline
\raggedright{foreign\_servers}
&
\raggedright{11480}
&
\raggedright{11726} \tabularnewline
\raggedright{\_pg\_foreign\_tables}
&
\raggedright{11480}
&
\raggedright{11729} \tabularnewline
\raggedright{foreign\_table\_options}
&
\raggedright{11480}
&
\raggedright{11733} \tabularnewline
\raggedright{foreign\_tables}
&
\raggedright{11480}
&
\raggedright{11736} \tabularnewline
\raggedright{\_pg\_user\_mappings}
&
\raggedright{11480}
&
\raggedright{11739} \tabularnewline
\raggedright{user\_mapping\_options}
&
\raggedright{11480}
&
\raggedright{11742} \tabularnewline
\raggedright{user\_mappings}
&
\raggedright{11480}
&
\raggedright{11746} \tabularnewline
\raggedright{pg\_statistic\_relid\_att\_inh\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_proc\_proname\_args\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_class\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_class\_relname\_nsp\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{sql\_sizing\_profiles}
&
\raggedright{11480}
&
\raggedright{11634} \tabularnewline
\raggedright{pg\_toast\_11633\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_attrdef}
&
\raggedright{11}
&
\raggedright{10000} \tabularnewline
\raggedright{pg\_attrdef\_adrelid\_adnum\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_attrdef\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_constraint\_conrelid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_constraint\_contypid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_constraint\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_inherits\_relid\_seqno\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_index}
&
\raggedright{11}
&
\raggedright{10003} \tabularnewline
\raggedright{pg\_trigger\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_event\_trigger}
&
\raggedright{11}
&
\raggedright{10820} \tabularnewline
\raggedright{pg\_db\_role\_setting\_databaseid\_rol\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_ts\_parser\_oid\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_enum\_typid\_sortorder\_index}
&
\raggedright{11}
&
\raggedright{0} \tabularnewline
\raggedright{pg\_toast\_11628\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\raggedright{sql\_features}
&
\raggedright{11480}
&
\raggedright{11604} \tabularnewline
\raggedright{pg\_toast\_11603}
&
\raggedright{99}
&
\raggedright{11606} \tabularnewline
\raggedright{pg\_toast\_11603\_index}
&
\raggedright{99}
&
\raggedright{0} \tabularnewline
\hline
\end{longtable}
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to