OSDN Git Service

Update SQL query results for lists of operators and functions.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Sun, 27 Apr 1997 19:26:24 +0000 (19:26 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Sun, 27 Apr 1997 19:26:24 +0000 (19:26 +0000)
Add a little info on count().

src/man/built-in.3

index ef950cc..84e3c80 100644 (file)
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/built-in.3,v 1.5 1997/04/23 03:18:27 scrappy Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/built-in.3,v 1.6 1997/04/27 19:26:24 thomas Exp $
 .TH BUILT-INS INTRO 04/01/97 PostgreSQL PostgreSQL
 .SH "DESCRIPTION"
 This section describes the data types, functions and operators
@@ -534,30 +534,25 @@ circle
        float8   diameter(circle)         diameter of circle
        float8   area(circle)             area of circle
 .fi
-
-.PP
+.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;
+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
@@ -565,329 +560,393 @@ These operations are cast in terms of SQL types and so are
 directly usable as C function prototypes.
 
 .nf
-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      |<>     |boolne         
-bool     |bool      |bool      |=      |booleq         
-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_eq         
-bool     |box       |box       |>      |box_gt         
-bool     |box       |box       |>=     |box_ge         
-bool     |box       |box       |>>     |box_right      
-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  
+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_eq
+bool     |box       |box       |>      |box_gt
+bool     |box       |box       |>=     |box_ge
+bool     |box       |box       |>>     |box_right
+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      |!~~    |char16nlike    
-bool     |char16    |text      |~      |char16regexeq  
+bool     |char16    |text      |!~~    |char16nlike
+bool     |char16    |text      |!~~    |char16nlike
+bool     |char16    |text      |~      |char16regexeq
 bool     |char16    |text      |~*     |char16icregexeq
-bool     |char16    |text      |~~     |char16like     
-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     |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     |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     |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     |point     |box       |===>   |on_pb          
-bool     |point     |path      |===`   |on_ppath       
-bool     |point     |point     |!<     |point_left     
-bool     |point     |point     |!>     |point_right    
-bool     |point     |point     |!^     |point_above    
-bool     |point     |point     |!\|    |point_below    
-bool     |point     |point     |=\|=   |point_eq       
-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     |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 |=      |intervaleq     
-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      
-char     |char      |char      |*      |charmul        
-char     |char      |char      |+      |charpl         
-char     |char      |char      |-      |charmi         
-char     |char      |char      |/      |chardiv        
-float4   |float4    |float4    |*      |float4mul      
-float4   |float4    |float4    |+      |float4pl       
-float4   |float4    |float4    |-      |float4mi       
-float4   |float4    |float4    |/      |float4div      
-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           
-int2     |int2      |int2      |%      |int2mod        
-int2     |int2      |int2      |*      |int2mul        
-int2     |int2      |int2      |+      |int2pl         
-int2     |int2      |int2      |-      |int2mi         
-int2     |int2      |int2      |/      |int2div        
-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        
-int4     |point     |point     |<===>  |pointdist      
-tinterval|abstime   |abstime   |<#>    |mktinterval    
+bool     |char16    |text      |~~     |char16like
+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_above
+bool     |circle    |circle    |!\|    |circle_below
+bool     |circle    |circle    |&&     |circle_overlap
+bool     |circle    |circle    |&<     |circle_overleft
+bool     |circle    |circle    |&>     |circle_overright
+bool     |circle    |circle    |<      |circle_eq
+bool     |circle    |circle    |<<     |circle_left
+bool     |circle    |circle    |<=     |circle_eq
+bool     |circle    |circle    |<>     |circle_ne
+bool     |circle    |circle    |=      |circle_eq
+bool     |circle    |circle    |>      |circle_eq
+bool     |circle    |circle    |>=     |circle_eq
+bool     |circle    |circle    |>>     |circle_right
+bool     |circle    |circle    |@      |circle_contained
+bool     |circle    |circle    |~      |circle_contain
+bool     |circle    |circle    |~=     |circle_same
+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     |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     |point     |box       |===>   |on_pb
+bool     |point     |path      |===`   |on_ppath
+bool     |point     |point     |!<     |point_left
+bool     |point     |point     |!>     |point_right
+bool     |point     |point     |!^     |point_above
+bool     |point     |point     |!\|    |point_below
+bool     |point     |point     |=\|=   |point_eq
+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 |=      |intervaleq
+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
+char     |char      |char      |*      |charmul
+char     |char      |char      |+      |charpl
+char     |char      |char      |-      |charmi
+char     |char      |char      |/      |chardiv
+date     |date      |int4      |+      |date_pli
+date     |date      |int4      |-      |date_mii
+datetime |datetime  |timespan  |+      |datetime_add_span
+datetime |datetime  |timespan  |-      |datetime_sub_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   |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   |lseg      |box       |<===>  |dist_sb
+float8   |lseg      |lseg      |<===>  |lseg_distance
+float8   |path      |path      |<===>  |path_distance
+float8   |point     |box       |<===>  |dist_pl
+float8   |point     |box       |<===>  |dist_ps
+float8   |point     |box       |<===>  |dist_pb
+float8   |point     |lseg      |<===>  |dist_ps
+float8   |point     |path      |<===>  |dist_ppth
+float8   |point     |point     |<===>  |point_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    |money     |float8    |*      |cash_mul
+money    |money     |float8    |/      |cash_div
+money    |money     |money     |+      |cash_pl
+money    |money     |money     |-      |cash_mi
+timespan |datetime  |datetime  |-      |datetime_sub
+timespan |timespan  |timespan  |+      |timespan_add
+timespan |timespan  |timespan  |-      |timespan_sub
+tinterval|abstime   |abstime   |<#>    |mktinterval
 
 
 .fi
@@ -898,31 +957,33 @@ registered in the system catalogs.
 This list was generated from the Postgres system catalogs with the query:
 
 .nf
-SELECT o.oprname AS left_unary, 
-       right.typname AS operand,
-       result.typname AS return_type
-FROM pg_operator o, pg_type right, pg_type result
-WHERE o.oprkind = 'l' AND          -- left unary
-      o.oprright = right.oid AND
-      o.oprresult = result.oid
+SELECT   o.oprname AS left_unary, 
+         right.typname AS operand,
+         result.typname AS return_type
+FROM     pg_operator o, pg_type right, pg_type result
+WHERE    o.oprkind = 'l' AND          -- left unary
+         o.oprright = right.oid AND
+         o.oprresult = result.oid
 ORDER BY operand;
 
 left_unary|operand  |return_type
 ----------+---------+-----------
-@@        |box      |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       
-|         |tinterval|abstime    
+@@        |box      |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
+#         |polygon  |int4
+-         |timespan |timespan
+|         |tinterval|abstime
 
 .fi
 .in
@@ -933,13 +994,13 @@ registered in the system catalogs.
 This list was generated from the Postgres system catalogs with the query:
 
 .nf
-SELECT o.oprname AS right_unary,
-       left.typname AS operand,
-       result.typname AS return_type
-FROM pg_operator o, pg_type left, pg_type result
-WHERE o.oprkind = 'r' AND          -- right unary
-      o.oprleft = left.oid AND
-      o.oprresult = result.oid
+SELECT   o.oprname AS right_unary,
+         left.typname AS operand,
+         result.typname AS return_type
+FROM     pg_operator o, pg_type left, pg_type result
+WHERE    o.oprkind = 'r' AND          -- right unary
+         o.oprleft = left.oid AND
+         o.oprresult = result.oid
 ORDER BY operand;
 
 right_unary|operand|return_type
@@ -956,31 +1017,47 @@ registered in the system catalogs.
 This list was generated from the Postgres system catalogs with the query:
 
 .nf
-SELECT a.aggname, t.typname
-FROM pg_aggregate a, pg_type t
-WHERE a.aggbasetype = t.oid
+SELECT   a.aggname, t.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   
-max    |float4 
-max    |float8 
-max    |int2   
-max    |int4   
-min    |float4 
-min    |float8 
-min    |int2   
-min    |int4   
-sum    |float4 
-sum    |float8 
-sum    |int2   
-sum    |int4   
-
-\fBcount\fR is also available.
+-------+--------
+avg    |float4
+avg    |float8
+avg    |int2
+avg    |int4
+avg    |money
+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
+
+\fBcount\fR is also available, where
+.BR count(*)
+returns a count of all rows while
+.BR count(column_name)
+returns a count of all non-null fields in the specified column.
 
 .fi
 .in
@@ -991,10 +1068,10 @@ For examples on specifying literals of built-in types, see
 .PP
 Although most of the input and output functions correponding to the
 base types (e.g., integers and floating point numbers) do some
-error-checking, none of them are particularly rigorous about it.  More
-importantly, almost none of the operators and functions (e.g.,
+error-checking, some are not particularly rigorous about it.  More
+importantly, few of the operators and functions (e.g.,
 addition and multiplication) perform any error-checking at all.
-Consequently, many of the numeric operations will (for example)
+Consequently, many of the numeric operators can (for example)
 silently underflow or overflow.
 .PP
 Some of the input and output functions are not invertible.  That is,