OSDN Git Service

Clean out pgbuiltin now that new psql \d commands exist.
authorBruce Momjian <bruce@momjian.us>
Mon, 17 Nov 1997 22:15:03 +0000 (22:15 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 17 Nov 1997 22:15:03 +0000 (22:15 +0000)
src/bin/psql/psql.c
src/man/pgbuiltin.3

index 3319607..5ded454 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.110 1997/11/17 17:54:24 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.111 1997/11/17 22:14:55 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1686,6 +1686,7 @@ HandleSlashCmds(PsqlSettings *pset,
                        break;
                case 'd':       /* \d describe database information */
                        if (strncmp(cmd, "da", 2) == 0)
+                       {
                                                                /* aggregates */
                                SendQuery(&success, pset,"\
                                        SELECT  a.aggname AS aggname, \
@@ -1695,6 +1696,15 @@ HandleSlashCmds(PsqlSettings *pset,
                                        WHERE   a.aggbasetype = t.oid \
                                        ORDER BY aggname, typname;",
                                                false, false, 0);
+                               SendQuery(&success, pset,"\
+                                       SELECT  a.aggname AS aggname, \
+                                                       'all types' as all_types, \
+                                                       obj_description(a.oid) as description \
+                                       FROM    pg_aggregate a \
+                                       WHERE   a.aggbasetype = 0 \
+                                       ORDER BY aggname;",
+                                               false, false, 0);
+                       }
                        else if (strncmp(cmd, "dd", 2) == 0)
                                                                /* descriptions */
                                objectDescription(pset, optarg+1, NULL);
index e7af04a..37d7fa7 100644 (file)
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/pgbuiltin.3,v 1.8 1997/10/01 18:57:48 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/pgbuiltin.3,v 1.9 1997/11/17 22:15:03 momjian Exp $
 .TH PGBUILTIN INTRO 04/01/97 PostgreSQL PostgreSQL
 .SH "DESCRIPTION"
 This section describes the data types, functions and operators
@@ -466,8 +466,6 @@ The rest of this section provides a list of the built-in operators and
 the functions that implement them.  Binary operators are listed first,
 followed by unary operators.
 
-.SH "BINARY OPERATORS"
-
 .nf
 Operators:
 
@@ -675,633 +673,19 @@ text
 
 .fi
 
-.SH "BINARY OPERATORS"
-This list was generated from the Postgres system catalogs with the
-query:
-
-.nf
-SELECT   t0.typname AS result,
-         t1.typname AS left_type,
-         t2.typname AS right_type,
-         o.oprname AS operatr,
-         p.proname AS func_name
-FROM     pg_proc p, pg_type t0,
-         pg_type t1, pg_type t2,
-         pg_operator o
-WHERE    p.prorettype = t0.oid AND
-         RegprocToOid(o.oprcode) = p.oid AND
-         p.pronargs = 2 AND
-         o.oprleft = t1.oid AND
-         o.oprright = t2.oid
-ORDER BY result, left_type, right_type, operatr;
-.fi
-
-These operations are cast in terms of SQL types and so are
-.BR not
-directly usable as C function prototypes.
-
-.nf
-.eo
-result   |left_type |right_type|operatr|func_name          
----------+----------+----------+-------+-------------------
-_aclitem |_aclitem  |aclitem   |+      |aclinsert          
-_aclitem |_aclitem  |aclitem   |-      |aclremove          
-abstime  |abstime   |reltime   |+      |timepl             
-abstime  |abstime   |reltime   |-      |timemi             
-bool     |_abstime  |_abstime  |=      |array_eq           
-bool     |_aclitem  |_aclitem  |=      |array_eq           
-bool     |_aclitem  |aclitem   |~      |aclcontains        
-bool     |_bool     |_bool     |=      |array_eq           
-bool     |_box      |_box      |=      |array_eq           
-bool     |_bytea    |_bytea    |=      |array_eq           
-bool     |_char     |_char     |=      |array_eq           
-bool     |_char16   |_char16   |=      |array_eq           
-bool     |_cid      |_cid      |=      |array_eq           
-bool     |_filename |_filename |=      |array_eq           
-bool     |_float4   |_float4   |=      |array_eq           
-bool     |_float8   |_float8   |=      |array_eq           
-bool     |_int2     |_int2     |=      |array_eq           
-bool     |_int28    |_int28    |=      |array_eq           
-bool     |_int4     |_int4     |=      |array_eq           
-bool     |_lseg     |_lseg     |=      |array_eq           
-bool     |_name     |_name     |=      |array_eq           
-bool     |_oid      |_oid      |=      |array_eq           
-bool     |_oid8     |_oid8     |=      |array_eq           
-bool     |_path     |_path     |=      |array_eq           
-bool     |_point    |_point    |=      |array_eq           
-bool     |_polygon  |_polygon  |=      |array_eq           
-bool     |_ref      |_ref      |=      |array_eq           
-bool     |_regproc  |_regproc  |=      |array_eq           
-bool     |_reltime  |_reltime  |=      |array_eq           
-bool     |_stub     |_stub     |=      |array_eq           
-bool     |_text     |_text     |=      |array_eq           
-bool     |_tid      |_tid      |=      |array_eq           
-bool     |_tinterval|_tinterval|=      |array_eq           
-bool     |_xid      |_xid      |=      |array_eq           
-bool     |abstime   |abstime   |<      |abstimelt          
-bool     |abstime   |abstime   |<=     |abstimele          
-bool     |abstime   |abstime   |<>     |abstimene          
-bool     |abstime   |abstime   |=      |abstimeeq          
-bool     |abstime   |abstime   |>      |abstimegt          
-bool     |abstime   |abstime   |>=     |abstimege          
-bool     |abstime   |tinterval |<?>    |ininterval         
-bool     |bool      |bool      |<      |boollt             
-bool     |bool      |bool      |<>     |boolne             
-bool     |bool      |bool      |=      |booleq             
-bool     |bool      |bool      |>      |boolgt             
-bool     |box       |box       |&&     |box_overlap        
-bool     |box       |box       |&<     |box_overleft       
-bool     |box       |box       |&>     |box_overright      
-bool     |box       |box       |<      |box_lt             
-bool     |box       |box       |<<     |box_left           
-bool     |box       |box       |<=     |box_le             
-bool     |box       |box       |<^     |box_below          
-bool     |box       |box       |=      |box_eq             
-bool     |box       |box       |>      |box_gt             
-bool     |box       |box       |>=     |box_ge             
-bool     |box       |box       |>>     |box_right          
-bool     |box       |box       |>^     |box_above          
-bool     |box       |box       |?#     |box_overlap        
-bool     |box       |box       |@      |box_contained      
-bool     |box       |box       |~      |box_contain        
-bool     |box       |box       |~=     |box_same           
-bool     |bpchar    |bpchar    |<      |bpcharlt           
-bool     |bpchar    |bpchar    |<=     |bpcharle           
-bool     |bpchar    |bpchar    |<>     |bpcharne           
-bool     |bpchar    |bpchar    |=      |bpchareq           
-bool     |bpchar    |bpchar    |>      |bpchargt           
-bool     |bpchar    |bpchar    |>=     |bpcharge           
-bool     |bpchar    |text      |!~     |textregexne        
-bool     |bpchar    |text      |!~*    |texticregexne      
-bool     |bpchar    |text      |!~~    |textnlike          
-bool     |bpchar    |text      |~      |textregexeq        
-bool     |bpchar    |text      |~*     |texticregexeq      
-bool     |bpchar    |text      |~~     |textlike           
-bool     |char      |char      |<      |charlt             
-bool     |char      |char      |<=     |charle             
-bool     |char      |char      |<>     |charne             
-bool     |char      |char      |=      |chareq             
-bool     |char      |char      |>      |chargt             
-bool     |char      |char      |>=     |charge             
-bool     |char16    |char16    |<      |char16lt           
-bool     |char16    |char16    |<=     |char16le           
-bool     |char16    |char16    |<>     |char16ne           
-bool     |char16    |char16    |=      |char16eq           
-bool     |char16    |char16    |>      |char16gt           
-bool     |char16    |char16    |>=     |char16ge           
-bool     |char16    |text      |!~     |char16regexne      
-bool     |char16    |text      |!~*    |char16icregexne    
-bool     |char16    |text      |!~~    |char16nlike        
-bool     |char16    |text      |~      |char16regexeq      
-bool     |char16    |text      |~*     |char16icregexeq    
-bool     |char16    |text      |~~     |char16like         
-bool     |char2     |char2     |<      |char2lt            
-bool     |char2     |char2     |<=     |char2le            
-bool     |char2     |char2     |<>     |char2ne            
-bool     |char2     |char2     |=      |char2eq            
-bool     |char2     |char2     |>      |char2gt            
-bool     |char2     |char2     |>=     |char2ge            
-bool     |char2     |text      |!~     |char2regexne       
-bool     |char2     |text      |!~*    |char2icregexne     
-bool     |char2     |text      |!~~    |char2nlike         
-bool     |char2     |text      |~      |char2regexeq       
-bool     |char2     |text      |~*     |char2icregexeq     
-bool     |char2     |text      |~~     |char2like          
-bool     |char4     |char4     |<      |char4lt            
-bool     |char4     |char4     |<=     |char4le            
-bool     |char4     |char4     |<>     |char4ne            
-bool     |char4     |char4     |=      |char4eq            
-bool     |char4     |char4     |>      |char4gt            
-bool     |char4     |char4     |>=     |char4ge            
-bool     |char4     |text      |!~     |char4regexne       
-bool     |char4     |text      |!~*    |char4icregexne     
-bool     |char4     |text      |!~~    |char4nlike         
-bool     |char4     |text      |~      |char4regexeq       
-bool     |char4     |text      |~*     |char4icregexeq     
-bool     |char4     |text      |~~     |char4like          
-bool     |char8     |char8     |<      |char8lt            
-bool     |char8     |char8     |<=     |char8le            
-bool     |char8     |char8     |<>     |char8ne            
-bool     |char8     |char8     |=      |char8eq            
-bool     |char8     |char8     |>      |char8gt            
-bool     |char8     |char8     |>=     |char8ge            
-bool     |char8     |text      |!~     |char8regexne       
-bool     |char8     |text      |!~*    |char8icregexne     
-bool     |char8     |text      |!~~    |char8nlike         
-bool     |char8     |text      |~      |char8regexeq       
-bool     |char8     |text      |~*     |char8icregexeq     
-bool     |char8     |text      |~~     |char8like          
-bool     |circle    |circle    |&&     |circle_overlap     
-bool     |circle    |circle    |&<     |circle_overleft    
-bool     |circle    |circle    |&>     |circle_overright   
-bool     |circle    |circle    |<      |circle_lt          
-bool     |circle    |circle    |<<     |circle_left        
-bool     |circle    |circle    |<=     |circle_le          
-bool     |circle    |circle    |<>     |circle_ne          
-bool     |circle    |circle    |<^     |circle_below       
-bool     |circle    |circle    |=      |circle_eq          
-bool     |circle    |circle    |>      |circle_gt          
-bool     |circle    |circle    |>=     |circle_ge          
-bool     |circle    |circle    |>>     |circle_right       
-bool     |circle    |circle    |>^     |circle_above       
-bool     |circle    |circle    |@      |circle_contained   
-bool     |circle    |circle    |~      |circle_contain     
-bool     |circle    |circle    |~=     |circle_same        
-bool     |circle    |point     |~      |circle_contain_pt  
-bool     |date      |date      |<      |date_lt            
-bool     |date      |date      |<=     |date_le            
-bool     |date      |date      |<>     |date_ne            
-bool     |date      |date      |=      |date_eq            
-bool     |date      |date      |>      |date_gt            
-bool     |date      |date      |>=     |date_ge            
-bool     |datetime  |datetime  |<      |datetime_lt        
-bool     |datetime  |datetime  |<=     |datetime_le        
-bool     |datetime  |datetime  |<>     |datetime_ne        
-bool     |datetime  |datetime  |=      |datetime_eq        
-bool     |datetime  |datetime  |>      |datetime_gt        
-bool     |datetime  |datetime  |>=     |datetime_ge        
-bool     |float4    |float4    |<      |float4lt           
-bool     |float4    |float4    |<=     |float4le           
-bool     |float4    |float4    |<>     |float4ne           
-bool     |float4    |float4    |=      |float4eq           
-bool     |float4    |float4    |>      |float4gt           
-bool     |float4    |float4    |>=     |float4ge           
-bool     |float4    |float8    |<      |float48lt          
-bool     |float4    |float8    |<=     |float48le          
-bool     |float4    |float8    |<>     |float48ne          
-bool     |float4    |float8    |=      |float48eq          
-bool     |float4    |float8    |>      |float48gt          
-bool     |float4    |float8    |>=     |float48ge          
-bool     |float8    |float4    |<      |float84lt          
-bool     |float8    |float4    |<=     |float84le          
-bool     |float8    |float4    |<>     |float84ne          
-bool     |float8    |float4    |=      |float84eq          
-bool     |float8    |float4    |>      |float84gt          
-bool     |float8    |float4    |>=     |float84ge          
-bool     |float8    |float8    |<      |float8lt           
-bool     |float8    |float8    |<=     |float8le           
-bool     |float8    |float8    |<>     |float8ne           
-bool     |float8    |float8    |=      |float8eq           
-bool     |float8    |float8    |>      |float8gt           
-bool     |float8    |float8    |>=     |float8ge           
-bool     |int2      |int2      |<      |int2lt             
-bool     |int2      |int2      |<=     |int2le             
-bool     |int2      |int2      |<>     |int2ne             
-bool     |int2      |int2      |=      |int2eq             
-bool     |int2      |int2      |>      |int2gt             
-bool     |int2      |int2      |>=     |int2ge             
-bool     |int4      |int4      |<      |int4lt             
-bool     |int4      |int4      |<=     |int4le             
-bool     |int4      |int4      |<>     |int4ne             
-bool     |int4      |int4      |=      |int4eq             
-bool     |int4      |int4      |>      |int4gt             
-bool     |int4      |int4      |>=     |int4ge             
-bool     |int4      |name      |!!=    |int4notin          
-bool     |int4      |oid       |=      |int4eqoid          
-bool     |line      |box       |?#     |inter_lb           
-bool     |lseg      |box       |?#     |inter_sb           
-bool     |lseg      |box       |@      |on_sb              
-bool     |lseg      |line      |?#     |inter_sl           
-bool     |lseg      |line      |@      |on_sl              
-bool     |lseg      |lseg      |=      |lseg_eq            
-bool     |lseg      |lseg      |?#     |lseg_intersect     
-bool     |lseg      |lseg      |?-|    |lseg_perp          
-bool     |lseg      |lseg      |?||    |lseg_parallel      
-bool     |money     |money     |<      |cash_lt            
-bool     |money     |money     |<=     |cash_le            
-bool     |money     |money     |<>     |cash_ne            
-bool     |money     |money     |=      |cash_eq            
-bool     |money     |money     |>      |cash_gt            
-bool     |money     |money     |>=     |cash_ge            
-bool     |name      |name      |<      |namelt             
-bool     |name      |name      |<=     |namele             
-bool     |name      |name      |<>     |namene             
-bool     |name      |name      |=      |nameeq             
-bool     |name      |name      |>      |namegt             
-bool     |name      |name      |>=     |namege             
-bool     |name      |text      |!~     |nameregexne        
-bool     |name      |text      |!~*    |nameicregexne      
-bool     |name      |text      |!~~    |namenlike          
-bool     |name      |text      |~      |nameregexeq        
-bool     |name      |text      |~*     |nameicregexeq      
-bool     |name      |text      |~~     |namelike           
-bool     |oid       |int4      |=      |oideqint4          
-bool     |oid       |name      |!!=    |oidnotin           
-bool     |oid       |oid       |<      |int4lt             
-bool     |oid       |oid       |<=     |int4le             
-bool     |oid       |oid       |<>     |oidne              
-bool     |oid       |oid       |=      |oideq              
-bool     |oid       |oid       |>      |int4gt             
-bool     |oid       |oid       |>=     |int4ge             
-bool     |oidint2   |oidint2   |<      |oidint2lt          
-bool     |oidint2   |oidint2   |<=     |oidint2le          
-bool     |oidint2   |oidint2   |<>     |oidint2ne          
-bool     |oidint2   |oidint2   |=      |oidint2eq          
-bool     |oidint2   |oidint2   |>      |oidint2gt          
-bool     |oidint2   |oidint2   |>=     |oidint2ge          
-bool     |oidint4   |oidint4   |<      |oidint4lt          
-bool     |oidint4   |oidint4   |<=     |oidint4le          
-bool     |oidint4   |oidint4   |<>     |oidint4ne          
-bool     |oidint4   |oidint4   |=      |oidint4eq          
-bool     |oidint4   |oidint4   |>      |oidint4gt          
-bool     |oidint4   |oidint4   |>=     |oidint4ge          
-bool     |oidname   |oidname   |<      |oidnamelt          
-bool     |oidname   |oidname   |<=     |oidnamele          
-bool     |oidname   |oidname   |<>     |oidnamene          
-bool     |oidname   |oidname   |=      |oidnameeq          
-bool     |oidname   |oidname   |>      |oidnamegt          
-bool     |oidname   |oidname   |>=     |oidnamege          
-bool     |path      |path      |<      |path_n_lt          
-bool     |path      |path      |<=     |path_n_le          
-bool     |path      |path      |=      |path_n_eq          
-bool     |path      |path      |>      |path_n_gt          
-bool     |path      |path      |>=     |path_n_ge          
-bool     |path      |path      |?#     |path_inter         
-bool     |path      |point     |~      |path_contain_pt    
-bool     |point     |box       |@      |on_pb              
-bool     |point     |circle    |@      |pt_contained_circle
-bool     |point     |line      |@      |on_pl              
-bool     |point     |lseg      |@      |on_ps              
-bool     |point     |path      |@      |on_ppath           
-bool     |point     |path      |@      |pt_contained_path  
-bool     |point     |point     |<<     |point_left         
-bool     |point     |point     |<^     |point_below        
-bool     |point     |point     |>>     |point_right        
-bool     |point     |point     |>^     |point_above        
-bool     |point     |point     |?-     |point_horiz        
-bool     |point     |point     |?|     |point_vert         
-bool     |point     |point     |~=     |point_eq           
-bool     |point     |polygon   |@      |pt_contained_poly  
-bool     |polygon   |point     |~      |poly_contain_pt    
-bool     |polygon   |polygon   |&&     |poly_overlap       
-bool     |polygon   |polygon   |&<     |poly_overleft      
-bool     |polygon   |polygon   |&>     |poly_overright     
-bool     |polygon   |polygon   |<<     |poly_left          
-bool     |polygon   |polygon   |>>     |poly_right         
-bool     |polygon   |polygon   |@      |poly_contained     
-bool     |polygon   |polygon   |~      |poly_contain       
-bool     |polygon   |polygon   |~=     |poly_same          
-bool     |reltime   |reltime   |<      |reltimelt          
-bool     |reltime   |reltime   |<=     |reltimele          
-bool     |reltime   |reltime   |<>     |reltimene          
-bool     |reltime   |reltime   |=      |reltimeeq          
-bool     |reltime   |reltime   |>      |reltimegt          
-bool     |reltime   |reltime   |>=     |reltimege          
-bool     |text      |text      |!~     |textregexne        
-bool     |text      |text      |!~*    |texticregexne      
-bool     |text      |text      |!~~    |textnlike          
-bool     |text      |text      |<      |text_lt            
-bool     |text      |text      |<=     |text_le            
-bool     |text      |text      |<>     |textne             
-bool     |text      |text      |=      |texteq             
-bool     |text      |text      |>      |text_gt            
-bool     |text      |text      |>=     |text_ge            
-bool     |text      |text      |~      |textregexeq        
-bool     |text      |text      |~*     |texticregexeq      
-bool     |text      |text      |~~     |textlike           
-bool     |time      |time      |<      |time_lt            
-bool     |time      |time      |<=     |time_le            
-bool     |time      |time      |<>     |time_ne            
-bool     |time      |time      |=      |time_eq            
-bool     |time      |time      |>      |time_gt            
-bool     |time      |time      |>=     |time_ge            
-bool     |timespan  |timespan  |<      |timespan_lt        
-bool     |timespan  |timespan  |<=     |timespan_le        
-bool     |timespan  |timespan  |<>     |timespan_ne        
-bool     |timespan  |timespan  |=      |timespan_eq        
-bool     |timespan  |timespan  |>      |timespan_gt        
-bool     |timespan  |timespan  |>=     |timespan_ge        
-bool     |timestamp |timestamp |<      |timestamplt        
-bool     |timestamp |timestamp |<=     |timestample        
-bool     |timestamp |timestamp |<>     |timestampne        
-bool     |timestamp |timestamp |=      |timestampeq        
-bool     |timestamp |timestamp |>      |timestampgt        
-bool     |timestamp |timestamp |>=     |timestampge        
-bool     |tinterval |reltime   |#<     |intervallenlt      
-bool     |tinterval |reltime   |#<=    |intervallenle      
-bool     |tinterval |reltime   |#<>    |intervallenne      
-bool     |tinterval |reltime   |#=     |intervalleneq      
-bool     |tinterval |reltime   |#>     |intervallengt      
-bool     |tinterval |reltime   |#>=    |intervallenge      
-bool     |tinterval |tinterval |&&     |intervalov         
-bool     |tinterval |tinterval |<      |intervalct         
-bool     |tinterval |tinterval |<      |intervallt         
-bool     |tinterval |tinterval |<<     |intervalct         
-bool     |tinterval |tinterval |<=     |intervalle         
-bool     |tinterval |tinterval |<>     |intervalne         
-bool     |tinterval |tinterval |=      |intervaleq         
-bool     |tinterval |tinterval |>      |intervalgt         
-bool     |tinterval |tinterval |>=     |intervalge         
-bool     |tinterval |tinterval |~=     |intervalsame       
-bool     |varchar   |text      |!~     |textregexne        
-bool     |varchar   |text      |!~*    |texticregexne      
-bool     |varchar   |text      |!~~    |textnlike          
-bool     |varchar   |text      |~      |textregexeq        
-bool     |varchar   |text      |~*     |texticregexeq      
-bool     |varchar   |text      |~~     |textlike           
-bool     |varchar   |varchar   |<      |varcharlt          
-bool     |varchar   |varchar   |<=     |varcharle          
-bool     |varchar   |varchar   |<>     |varcharne          
-bool     |varchar   |varchar   |=      |varchareq          
-bool     |varchar   |varchar   |>      |varchargt          
-bool     |varchar   |varchar   |>=     |varcharge          
-box      |box       |box       |#      |box_intersect      
-box      |box       |point     |*      |box_mul            
-box      |box       |point     |+      |box_add            
-box      |box       |point     |-      |box_sub            
-box      |box       |point     |/      |box_div            
-char     |char      |char      |*      |charmul            
-char     |char      |char      |+      |charpl             
-char     |char      |char      |-      |charmi             
-char     |char      |char      |/      |chardiv            
-circle   |circle    |point     |*      |circle_mul_pt      
-circle   |circle    |point     |+      |circle_add_pt      
-circle   |circle    |point     |-      |circle_sub_pt      
-circle   |circle    |point     |/      |circle_div_pt      
-date     |date      |int4      |+      |date_pli           
-date     |date      |int4      |-      |date_mii           
-datetime |datetime  |timespan  |+      |datetime_pl_span   
-datetime |datetime  |timespan  |-      |datetime_mi_span   
-float4   |float4    |float4    |*      |float4mul          
-float4   |float4    |float4    |+      |float4pl           
-float4   |float4    |float4    |-      |float4mi           
-float4   |float4    |float4    |/      |float4div          
-float8   |box       |box       |<->    |box_distance       
-float8   |circle    |circle    |<->    |circle_distance    
-float8   |circle    |polygon   |<->    |dist_cpoly         
-float8   |float4    |float8    |*      |float48mul         
-float8   |float4    |float8    |+      |float48pl          
-float8   |float4    |float8    |-      |float48mi          
-float8   |float4    |float8    |/      |float48div         
-float8   |float8    |float4    |*      |float84mul         
-float8   |float8    |float4    |+      |float84pl          
-float8   |float8    |float4    |-      |float84mi          
-float8   |float8    |float4    |/      |float84div         
-float8   |float8    |float8    |*      |float8mul          
-float8   |float8    |float8    |+      |float8pl           
-float8   |float8    |float8    |-      |float8mi           
-float8   |float8    |float8    |/      |float8div          
-float8   |float8    |float8    |^      |dpow               
-float8   |line      |box       |<->    |dist_lb            
-float8   |line      |line      |<->    |line_distance      
-float8   |lseg      |box       |<->    |dist_sb            
-float8   |lseg      |line      |<->    |dist_sl            
-float8   |lseg      |lseg      |<->    |lseg_distance      
-float8   |path      |path      |<->    |path_distance      
-float8   |point     |box       |<->    |dist_pl            
-float8   |point     |box       |<->    |dist_pb            
-float8   |point     |lseg      |<->    |dist_ps            
-float8   |point     |path      |<->    |dist_ppath         
-float8   |point     |point     |<->    |point_distance     
-float8   |polygon   |polygon   |<->    |poly_distance      
-int2     |int2      |int2      |%      |int2mod            
-int2     |int2      |int2      |*      |int2mul            
-int2     |int2      |int2      |+      |int2pl             
-int2     |int2      |int2      |-      |int2mi             
-int2     |int2      |int2      |/      |int2div            
-int4     |date      |date      |-      |date_mi            
-int4     |int2      |int4      |%      |int24mod           
-int4     |int2      |int4      |*      |int24mul           
-int4     |int2      |int4      |+      |int24pl            
-int4     |int2      |int4      |-      |int24mi            
-int4     |int2      |int4      |/      |int24div           
-int4     |int2      |int4      |<      |int24lt            
-int4     |int2      |int4      |<=     |int24le            
-int4     |int2      |int4      |<>     |int24ne            
-int4     |int2      |int4      |=      |int24eq            
-int4     |int2      |int4      |>      |int24gt            
-int4     |int2      |int4      |>=     |int24ge            
-int4     |int4      |int2      |%      |int42mod           
-int4     |int4      |int2      |*      |int42mul           
-int4     |int4      |int2      |+      |int42pl            
-int4     |int4      |int2      |-      |int42mi            
-int4     |int4      |int2      |/      |int42div           
-int4     |int4      |int2      |<      |int42lt            
-int4     |int4      |int2      |<=     |int42le            
-int4     |int4      |int2      |<>     |int42ne            
-int4     |int4      |int2      |=      |int42eq            
-int4     |int4      |int2      |>      |int42gt            
-int4     |int4      |int2      |>=     |int42ge            
-int4     |int4      |int4      |%      |int4mod            
-int4     |int4      |int4      |*      |int4mul            
-int4     |int4      |int4      |+      |int4pl             
-int4     |int4      |int4      |-      |int4mi             
-int4     |int4      |int4      |/      |int4div            
-money    |float4    |money     |*      |flt4_mul_cash      
-money    |float8    |money     |*      |flt8_mul_cash      
-money    |int2      |money     |*      |int2_mul_cash      
-money    |int4      |money     |*      |int4_mul_cash      
-money    |money     |float4    |*      |cash_mul_flt4      
-money    |money     |float4    |/      |cash_div_flt4      
-money    |money     |float8    |*      |cash_mul_flt8      
-money    |money     |float8    |/      |cash_div_flt8      
-money    |money     |int2      |*      |cash_mul_int2      
-money    |money     |int2      |/      |cash_div_int2      
-money    |money     |int4      |*      |cash_mul_int4      
-money    |money     |int4      |/      |cash_div_int4      
-money    |money     |money     |+      |cash_pl            
-money    |money     |money     |-      |cash_mi            
-path     |path      |path      |+      |path_add           
-path     |path      |point     |*      |path_mul_pt        
-path     |path      |point     |+      |path_add_pt        
-path     |path      |point     |-      |path_sub_pt        
-path     |path      |point     |/      |path_div_pt        
-point    |line      |box       |##     |close_lb           
-point    |lseg      |box       |##     |close_sb           
-point    |lseg      |line      |##     |close_sl           
-point    |lseg      |lseg      |#      |lseg_interpt       
-point    |point     |box       |##     |close_pb           
-point    |point     |line      |##     |close_pl           
-point    |point     |lseg      |##     |close_ps           
-point    |point     |point     |*      |point_mul          
-point    |point     |point     |+      |point_add          
-point    |point     |point     |-      |point_sub          
-point    |point     |point     |/      |point_div          
-polygon  |point     |circle    |<->    |dist_pc            
-text     |bpchar    |bpchar    |||     |textcat            
-text     |text      |text      |||     |textcat            
-text     |varchar   |varchar   |||     |textcat            
-timespan |datetime  |datetime  |-      |datetime_mi        
-timespan |timespan  |timespan  |+      |timespan_pl        
-timespan |timespan  |timespan  |-      |timespan_mi        
-timespan |timespan  |timespan  |/      |timespan_div       
-tinterval|abstime   |abstime   |<#>    |mktinterval        
-(462 rows)
-.ec
-.fi
-.SH "LEFT UNARY OPERATORS"
-The table below gives the left unary operators that are
-registered in the system catalogs.  
-
-This list was generated from the Postgres system catalogs with the query:
-
-.nf
-.eo
-SELECT   o.oprname AS left_unary, 
-         t.typname AS operand,
-         r.typname AS return_type
-FROM     pg_operator o, pg_type t, pg_type r
-WHERE    o.oprkind = 'l' AND          -- left unary
-         o.oprright = t.oid AND
-         o.oprresult = r.oid
-ORDER BY operand;
-
-left_unary|operand  |return_type
-----------+---------+-----------
-@@        |box      |point      
-@@        |circle   |point      
--         |float4   |float4     
-@         |float4   |float4     
-;         |float8   |float8     
--         |float8   |float8     
-@         |float8   |float8     
-|/        |float8   |float8     
-||/       |float8   |float8     
-%         |float8   |float8     
-:         |float8   |float8     
--         |int2     |int2       
--         |int4     |int4       
-!!        |int4     |int4       
-?|        |lseg     |bool       
-@@        |lseg     |point      
-?-        |lseg     |bool       
-??        |path     |float8     
-#         |path     |int4       
-@@        |path     |point      
-@@        |polygon  |point      
-#         |polygon  |int4       
--         |timespan |timespan   
-|         |tinterval|abstime    
-(24 rows)
-
-.ec
-.fi
-.in
-.SH "RIGHT UNARY OPERATORS"
-The table below gives the right unary operators that are
-registered in the system catalogs.  
-
-This list was generated from the Postgres system catalogs with the query:
-
-.nf
-.eo
-SELECT   o.oprname AS right_unary,
-         t.typname AS operand,
-         r.typname AS return_type
-FROM     pg_operator o, pg_type t, pg_type r
-WHERE    o.oprkind = 'r' AND          -- right unary
-         o.oprleft = t.oid AND
-         o.oprresult = r.oid
-ORDER BY operand;
-
-right_unary|operand|return_type
------------+-------+-----------
-%          |float8 |float8     
-!          |int4   |int4       
-(2 rows)
-
-.ec
-.fi
-.in
-.SH "AGGREGATE FUNCTIONS"
-The table below gives the aggregate functions that are 
-registered in the system catalogs.  
-
-This list was generated from the Postgres system catalogs with the query:
-
-.nf
-.eo
-SELECT   a.aggname AS aggname,
-         t.typname AS typname
-FROM     pg_aggregate a, pg_type t
-WHERE    a.aggbasetype = t.oid
-ORDER BY aggname, typname;
-
-aggname|typname 
--------+--------
-avg    |float4  
-avg    |float8  
-avg    |int2    
-avg    |int4    
-avg    |money   
-avg    |timespan
-max    |abstime 
-max    |date    
-max    |datetime
-max    |float4  
-max    |float8  
-max    |int2    
-max    |int4    
-max    |money   
-max    |timespan
-min    |abstime 
-min    |date    
-min    |datetime
-min    |float4  
-min    |float8  
-min    |int2    
-min    |int4    
-min    |money   
-min    |timespan
-sum    |float4  
-sum    |float8  
-sum    |int2    
-sum    |int4    
-sum    |money   
-sum    |timespan
-(30 rows)
-
-.ec
-.fi
-\fBcount\fR is also available, where \fBcount(*)\fR returns a count of all
-rows while \fBcount(column_name)\fR returns a count of all non-null fields
-in the specified column.
+.SH "PSQL HELP"
+.IR "psq"
+has a variety of \ed commands for showing system information.
+Consult those
+.IR "psql"
+commands for more listings.
 
 .in
 .SH "SEE ALSO"
 .IR set (l),
 .IR show (l),
-.IR reset (l).
+.IR reset (l),
+.IR psql (1).
 For examples on specifying literals of built-in types, see
 .IR SQL (l).
 .SH BUGS