diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml
index b9d596e3c4..341fe8e021 100644
--- a/doc/src/sgml/brin.sgml
+++ b/doc/src/sgml/brin.sgml
@@ -133,341 +133,357 @@ LOG:  request for BRIN range summarization for index "brin_wi_idx" page 128 was
    </thead>
    <tbody>
     <row>
-     <entry><literal>int8_minmax_ops</literal></entry>
-     <entry><type>bigint</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>bit_minmax_ops</literal></entry>
+     <entry morerows="4"><type>bit</type></entry>
+     <entry><literal>=(bit,bit)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(bit,bit)</literal></entry></row>
+    <row><entry><literal>&gt;(bit,bit)</literal></entry></row>
+    <row><entry><literal>&lt;=(bit,bit)</literal></entry></row>
+    <row><entry><literal>&gt;=(bit,bit)</literal></entry></row>
+    
     <row>
-     <entry><literal>bit_minmax_ops</literal></entry>
-     <entry><type>bit</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="12"><literal>box_inclusion_ops</literal></entry>
+     <entry morerows="12"><type>box</type></entry>
+     <entry><literal>@&gt;(box,point)</literal></entry>
     </row>
+    <row><entry><literal>&lt;&lt;(box,box)</literal></entry></row>
+    <row><entry><literal>&amp;&lt;(box,box)</literal></entry></row>
+    <row><entry><literal>&amp;&gt;(box,box)</literal></entry></row>
+    <row><entry><literal>&gt;&gt;(box,box)</literal></entry></row>
+    <row><entry><literal>&lt;@(box,box)</literal></entry></row>
+    <row><entry><literal>@&gt;(box,box)</literal></entry></row>
+    <row><entry><literal>~=(box,box)</literal></entry></row>
+    <row><entry><literal>&amp;&amp;(box,box)</literal></entry></row>
+    <row><entry><literal>&lt;&lt;|(box,box)</literal></entry></row>
+    <row><entry><literal>&amp;&lt;|(box,box)</literal></entry></row>
+    <row><entry><literal>|&amp;&gt;(box,box)</literal></entry></row>
+    <row><entry><literal>|&gt;&gt;(box,box)</literal></entry></row>
+    
     <row>
-     <entry><literal>varbit_minmax_ops</literal></entry>
-     <entry><type>bit varying</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>bpchar_minmax_ops</literal></entry>
+     <entry morerows="4"><type>character</type></entry>
+     <entry><literal>=(character,character)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(character,character)</literal></entry></row>
+    <row><entry><literal>&lt;=(character,character)</literal></entry></row>
+    <row><entry><literal>&gt;(character,character)</literal></entry></row>
+    <row><entry><literal>&gt;=(character,character)</literal></entry></row>
+    
     <row>
-     <entry><literal>box_inclusion_ops</literal></entry>
-     <entry><type>box</type></entry>
-     <entry>
-      <literal>&lt;&lt;</literal>
-      <literal>&amp;&lt;</literal>
-      <literal>&amp;&amp;</literal>
-      <literal>&amp;&gt;</literal>
-      <literal>&gt;&gt;</literal>
-      <literal>~=</literal>
-      <literal>@&gt;</literal>
-      <literal>&lt;@</literal>
-      <literal>&amp;&lt;|</literal>
-      <literal>&lt;&lt;|</literal>
-      <literal>|&gt;&gt;</literal>
-      <literal>|&amp;&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>bytea_minmax_ops</literal></entry>
+     <entry morerows="4"><type>bytea</type></entry>
+     <entry><literal>=(bytea,bytea)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(bytea,bytea)</literal></entry></row>
+    <row><entry><literal>&lt;=(bytea,bytea)</literal></entry></row>
+    <row><entry><literal>&gt;(bytea,bytea)</literal></entry></row>
+    <row><entry><literal>&gt;=(bytea,bytea)</literal></entry></row>
+    
     <row>
-     <entry><literal>bytea_minmax_ops</literal></entry>
-     <entry><type>bytea</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>char_minmax_ops</literal></entry>
+     <entry morerows="4"><type>"char"</type></entry>
+     <entry><literal>=("char","char")</literal></entry>
     </row>
+    <row><entry><literal>&lt;("char","char")</literal></entry></row>
+    <row><entry><literal>&lt;=("char","char")</literal></entry></row>
+    <row><entry><literal>&gt;("char","char")</literal></entry></row>
+    <row><entry><literal>&gt;=("char","char")</literal></entry></row>
+    
     <row>
-     <entry><literal>bpchar_minmax_ops</literal></entry>
-     <entry><type>character</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="44"><literal>datetime_minmax_ops</literal></entry>
+     <entry morerows="44"><type>date</type>, <type>timestamp with time zone</type>, <type>timestamp without time zone</type></entry>
+     <entry><literal>=(date,date)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(date,date)</literal></entry></row>
+    <row><entry><literal>&lt;=(date,date)</literal></entry></row>
+    <row><entry><literal>&gt;(date,date)</literal></entry></row>
+    <row><entry><literal>&gt;=(date,date)</literal></entry></row>
+    <row><entry><literal>=(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>=(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;(date,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(date,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>=(date,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(date,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(date,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;(date,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(date,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>=(date,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(date,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(date,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;(timestamp without time zone,date)</literal></entry></row>
+    <row><entry><literal>&lt;=(timestamp without time zone,date)</literal></entry></row>
+    <row><entry><literal>=(timestamp without time zone,date)</literal></entry></row>
+    <row><entry><literal>&gt;=(timestamp without time zone,date)</literal></entry></row>
+    <row><entry><literal>&gt;(timestamp without time zone,date)</literal></entry></row>
+    <row><entry><literal>&lt;(timestamp with time zone,date)</literal></entry></row>
+    <row><entry><literal>&lt;=(timestamp with time zone,date)</literal></entry></row>
+    <row><entry><literal>=(timestamp with time zone,date)</literal></entry></row>
+    <row><entry><literal>&gt;=(timestamp with time zone,date)</literal></entry></row>
+    <row><entry><literal>&gt;(timestamp with time zone,date)</literal></entry></row>
+    <row><entry><literal>&lt;(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>=(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>=(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+    
     <row>
-     <entry><literal>char_minmax_ops</literal></entry>
-     <entry><type>"char"</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="19"><literal>float_minmax_ops</literal></entry>
+     <entry morerows="19"><type>double precision</type>, <type>real</type></entry>
+     <entry><literal>=(real,real)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(real,real)</literal></entry></row>
+    <row><entry><literal>&gt;(real,real)</literal></entry></row>
+    <row><entry><literal>&lt;=(real,real)</literal></entry></row>
+    <row><entry><literal>&gt;=(real,real)</literal></entry></row>
+    <row><entry><literal>=(double precision,double precision)</literal></entry></row>
+    <row><entry><literal>&lt;(double precision,double precision)</literal></entry></row>
+    <row><entry><literal>&lt;=(double precision,double precision)</literal></entry></row>
+    <row><entry><literal>&gt;(double precision,double precision)</literal></entry></row>
+    <row><entry><literal>&gt;=(double precision,double precision)</literal></entry></row>
+    <row><entry><literal>=(real,double precision)</literal></entry></row>
+    <row><entry><literal>&lt;(real,double precision)</literal></entry></row>
+    <row><entry><literal>&gt;(real,double precision)</literal></entry></row>
+    <row><entry><literal>&lt;=(real,double precision)</literal></entry></row>
+    <row><entry><literal>&gt;=(real,double precision)</literal></entry></row>
+    <row><entry><literal>=(double precision,real)</literal></entry></row>
+    <row><entry><literal>&lt;(double precision,real)</literal></entry></row>
+    <row><entry><literal>&gt;(double precision,real)</literal></entry></row>
+    <row><entry><literal>&lt;=(double precision,real)</literal></entry></row>
+    <row><entry><literal>&gt;=(double precision,real)</literal></entry></row>
+    
     <row>
-     <entry><literal>date_minmax_ops</literal></entry>
-     <entry><type>date</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="44"><literal>integer_minmax_ops</literal></entry>
+     <entry morerows="44"><type>smallint</type>, <type>integer</type>, <type>bigint</type></entry>
+     <entry><literal>=(integer,bigint)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(integer,bigint)</literal></entry></row>
+    <row><entry><literal>&gt;(integer,bigint)</literal></entry></row>
+    <row><entry><literal>&lt;=(integer,bigint)</literal></entry></row>
+    <row><entry><literal>&gt;=(integer,bigint)</literal></entry></row>
+    <row><entry><literal>=(smallint,smallint)</literal></entry></row>
+    <row><entry><literal>&lt;(smallint,smallint)</literal></entry></row>
+    <row><entry><literal>=(integer,integer)</literal></entry></row>
+    <row><entry><literal>&lt;(integer,integer)</literal></entry></row>
+    <row><entry><literal>=(bigint,bigint)</literal></entry></row>
+    <row><entry><literal>&lt;(bigint,bigint)</literal></entry></row>
+    <row><entry><literal>&gt;(bigint,bigint)</literal></entry></row>
+    <row><entry><literal>&lt;=(bigint,bigint)</literal></entry></row>
+    <row><entry><literal>&gt;=(bigint,bigint)</literal></entry></row>
+    <row><entry><literal>=(bigint,integer)</literal></entry></row>
+    <row><entry><literal>&lt;(bigint,integer)</literal></entry></row>
+    <row><entry><literal>&gt;(bigint,integer)</literal></entry></row>
+    <row><entry><literal>&lt;=(bigint,integer)</literal></entry></row>
+    <row><entry><literal>&gt;=(bigint,integer)</literal></entry></row>
+    <row><entry><literal>&gt;(smallint,smallint)</literal></entry></row>
+    <row><entry><literal>&gt;(integer,integer)</literal></entry></row>
+    <row><entry><literal>&lt;=(smallint,smallint)</literal></entry></row>
+    <row><entry><literal>&lt;=(integer,integer)</literal></entry></row>
+    <row><entry><literal>&gt;=(smallint,smallint)</literal></entry></row>
+    <row><entry><literal>&gt;=(integer,integer)</literal></entry></row>
+    <row><entry><literal>=(smallint,integer)</literal></entry></row>
+    <row><entry><literal>=(integer,smallint)</literal></entry></row>
+    <row><entry><literal>&lt;(smallint,integer)</literal></entry></row>
+    <row><entry><literal>&lt;(integer,smallint)</literal></entry></row>
+    <row><entry><literal>&gt;(smallint,integer)</literal></entry></row>
+    <row><entry><literal>&gt;(integer,smallint)</literal></entry></row>
+    <row><entry><literal>&lt;=(smallint,integer)</literal></entry></row>
+    <row><entry><literal>&lt;=(integer,smallint)</literal></entry></row>
+    <row><entry><literal>&gt;=(smallint,integer)</literal></entry></row>
+    <row><entry><literal>&gt;=(integer,smallint)</literal></entry></row>
+    <row><entry><literal>=(smallint,bigint)</literal></entry></row>
+    <row><entry><literal>&lt;(smallint,bigint)</literal></entry></row>
+    <row><entry><literal>&gt;(smallint,bigint)</literal></entry></row>
+    <row><entry><literal>&lt;=(smallint,bigint)</literal></entry></row>
+    <row><entry><literal>&gt;=(smallint,bigint)</literal></entry></row>
+    <row><entry><literal>=(bigint,smallint)</literal></entry></row>
+    <row><entry><literal>&lt;(bigint,smallint)</literal></entry></row>
+    <row><entry><literal>&gt;(bigint,smallint)</literal></entry></row>
+    <row><entry><literal>&lt;=(bigint,smallint)</literal></entry></row>
+    <row><entry><literal>&gt;=(bigint,smallint)</literal></entry></row>
+    
     <row>
-     <entry><literal>float8_minmax_ops</literal></entry>
-     <entry><type>double precision</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>interval_minmax_ops</literal></entry>
+     <entry morerows="4"><type>interval</type></entry>
+     <entry><literal>=(interval,interval)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(interval,interval)</literal></entry></row>
+    <row><entry><literal>&lt;=(interval,interval)</literal></entry></row>
+    <row><entry><literal>&gt;(interval,interval)</literal></entry></row>
+    <row><entry><literal>&gt;=(interval,interval)</literal></entry></row>
+    
     <row>
-     <entry><literal>inet_minmax_ops</literal></entry>
-     <entry><type>inet</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>maxaddr8_minmax_ops</literal></entry>
+     <entry morerows="4"><type>macaddr8</type></entry>
+     <entry><literal>=(macaddr8,macaddr8)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(macaddr8,macaddr8)</literal></entry></row>
+    <row><entry><literal>&lt;=(macaddr8,macaddr8)</literal></entry></row>
+    <row><entry><literal>&gt;(macaddr8,macaddr8)</literal></entry></row>
+    <row><entry><literal>&gt;=(macaddr8,macaddr8)</literal></entry></row>
+    
     <row>
-     <entry><literal>network_inclusion_ops</literal></entry>
-     <entry><type>inet</type></entry>
-     <entry>
-      <literal>&amp;&amp;</literal>
-      <literal>&gt;&gt;=</literal>
-      <literal>&lt;&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;&gt;</literal>
-      <literal>&lt;&lt;</literal>
-     </entry>
+     <entry morerows="4"><literal>maxaddr_minmax_ops</literal></entry>
+     <entry morerows="4"><type>macaddr</type></entry>
+     <entry><literal>=(macaddr,macaddr)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(macaddr,macaddr)</literal></entry></row>
+    <row><entry><literal>&lt;=(macaddr,macaddr)</literal></entry></row>
+    <row><entry><literal>&gt;(macaddr,macaddr)</literal></entry></row>
+    <row><entry><literal>&gt;=(macaddr,macaddr)</literal></entry></row>
+    
     <row>
-     <entry><literal>int4_minmax_ops</literal></entry>
-     <entry><type>integer</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>name_minmax_ops</literal></entry>
+     <entry morerows="4"><type>name</type></entry>
+     <entry><literal>=(name,name)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(name,name)</literal></entry></row>
+    <row><entry><literal>&lt;=(name,name)</literal></entry></row>
+    <row><entry><literal>&gt;(name,name)</literal></entry></row>
+    <row><entry><literal>&gt;=(name,name)</literal></entry></row>
+    
     <row>
-     <entry><literal>interval_minmax_ops</literal></entry>
-     <entry><type>interval</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="5"><literal>network_inclusion_ops</literal></entry>
+     <entry morerows="5"><type>inet</type></entry>
+     <entry><literal>&lt;&lt;(inet,inet)</literal></entry>
     </row>
+    <row><entry><literal>&lt;&lt;=(inet,inet)</literal></entry></row>
+    <row><entry><literal>&gt;&gt;(inet,inet)</literal></entry></row>
+    <row><entry><literal>&gt;&gt;=(inet,inet)</literal></entry></row>
+    <row><entry><literal>=(inet,inet)</literal></entry></row>
+    <row><entry><literal>&amp;&amp;(inet,inet)</literal></entry></row>
+    
     <row>
-     <entry><literal>macaddr_minmax_ops</literal></entry>
-     <entry><type>macaddr</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>network_minmax_ops</literal></entry>
+     <entry morerows="4"><type>inet</type></entry>
+     <entry><literal>=(inet,inet)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(inet,inet)</literal></entry></row>
+    <row><entry><literal>&lt;=(inet,inet)</literal></entry></row>
+    <row><entry><literal>&gt;(inet,inet)</literal></entry></row>
+    <row><entry><literal>&gt;=(inet,inet)</literal></entry></row>
+    
     <row>
-     <entry><literal>macaddr8_minmax_ops</literal></entry>
-     <entry><type>macaddr8</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>numeric_minmax_ops</literal></entry>
+     <entry morerows="4"><type>numeric</type></entry>
+     <entry><literal>=(numeric,numeric)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(numeric,numeric)</literal></entry></row>
+    <row><entry><literal>&lt;=(numeric,numeric)</literal></entry></row>
+    <row><entry><literal>&gt;(numeric,numeric)</literal></entry></row>
+    <row><entry><literal>&gt;=(numeric,numeric)</literal></entry></row>
+    
     <row>
-     <entry><literal>name_minmax_ops</literal></entry>
-     <entry><type>name</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>oid_minmax_ops</literal></entry>
+     <entry morerows="4"><type>oid</type></entry>
+     <entry><literal>=(oid,oid)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(oid,oid)</literal></entry></row>
+    <row><entry><literal>&gt;(oid,oid)</literal></entry></row>
+    <row><entry><literal>&lt;=(oid,oid)</literal></entry></row>
+    <row><entry><literal>&gt;=(oid,oid)</literal></entry></row>
+    
     <row>
-     <entry><literal>numeric_minmax_ops</literal></entry>
-     <entry><type>numeric</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>pg_lsn_minmax_ops</literal></entry>
+     <entry morerows="4"><type>pg_lsn</type></entry>
+     <entry><literal>=(pg_lsn,pg_lsn)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(pg_lsn,pg_lsn)</literal></entry></row>
+    <row><entry><literal>&gt;(pg_lsn,pg_lsn)</literal></entry></row>
+    <row><entry><literal>&lt;=(pg_lsn,pg_lsn)</literal></entry></row>
+    <row><entry><literal>&gt;=(pg_lsn,pg_lsn)</literal></entry></row>
+    
     <row>
-     <entry><literal>pg_lsn_minmax_ops</literal></entry>
-     <entry><type>pg_lsn</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="13"><literal>range_inclusion_ops</literal></entry>
+     <entry morerows="13"><type>any range type</type></entry>
+     <entry><literal>=(anyrange,anyrange)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&lt;=(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&gt;=(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&gt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&amp;&amp;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>@&gt;(anyrange,anyelement)</literal></entry></row>
+    <row><entry><literal>@&gt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&lt;@(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&lt;&lt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&gt;&gt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&amp;&lt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>&amp;&gt;(anyrange,anyrange)</literal></entry></row>
+    <row><entry><literal>-|-(anyrange,anyrange)</literal></entry></row>
+    
     <row>
-     <entry><literal>oid_minmax_ops</literal></entry>
-     <entry><type>oid</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>text_minmax_ops</literal></entry>
+     <entry morerows="4"><type>text</type></entry>
+     <entry><literal>=(text,text)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(text,text)</literal></entry></row>
+    <row><entry><literal>&lt;=(text,text)</literal></entry></row>
+    <row><entry><literal>&gt;(text,text)</literal></entry></row>
+    <row><entry><literal>&gt;=(text,text)</literal></entry></row>
+    
     <row>
-     <entry><literal>range_inclusion_ops</literal></entry>
-     <entry><type>any range type</type></entry>
-     <entry>
-      <literal>&lt;&lt;</literal>
-      <literal>&amp;&lt;</literal>
-      <literal>&amp;&amp;</literal>
-      <literal>&amp;&gt;</literal>
-      <literal>&gt;&gt;</literal>
-      <literal>@&gt;</literal>
-      <literal>&lt;@</literal>
-      <literal>-|-</literal>
-      <literal>=</literal>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;</literal>
-      <literal>&gt;=</literal>
-     </entry>
+     <entry morerows="4"><literal>tid_minmax_ops</literal></entry>
+     <entry morerows="4"><type>tid</type></entry>
+     <entry><literal>=(tid,tid)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(tid,tid)</literal></entry></row>
+    <row><entry><literal>&gt;(tid,tid)</literal></entry></row>
+    <row><entry><literal>&lt;=(tid,tid)</literal></entry></row>
+    <row><entry><literal>&gt;=(tid,tid)</literal></entry></row>
+    
     <row>
-     <entry><literal>float4_minmax_ops</literal></entry>
-     <entry><type>real</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>time_minmax_ops</literal></entry>
+     <entry morerows="4"><type>time without time zone</type></entry>
+     <entry><literal>=(time without time zone,time without time zone)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(time without time zone,time without time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(time without time zone,time without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(time without time zone,time without time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(time without time zone,time without time zone)</literal></entry></row>
+    
     <row>
-     <entry><literal>int2_minmax_ops</literal></entry>
-     <entry><type>smallint</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>timetz_minmax_ops</literal></entry>
+     <entry morerows="4"><type>time with time zone</type></entry>
+     <entry><literal>=(time with time zone,time with time zone)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(time with time zone,time with time zone)</literal></entry></row>
+    <row><entry><literal>&lt;=(time with time zone,time with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;(time with time zone,time with time zone)</literal></entry></row>
+    <row><entry><literal>&gt;=(time with time zone,time with time zone)</literal></entry></row>
+    
     <row>
-     <entry><literal>text_minmax_ops</literal></entry>
-     <entry><type>text</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>uuid_minmax_ops</literal></entry>
+     <entry morerows="4"><type>uuid</type></entry>
+     <entry><literal>=(uuid,uuid)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(uuid,uuid)</literal></entry></row>
+    <row><entry><literal>&gt;(uuid,uuid)</literal></entry></row>
+    <row><entry><literal>&lt;=(uuid,uuid)</literal></entry></row>
+    <row><entry><literal>&gt;=(uuid,uuid)</literal></entry></row>
+    
     <row>
-     <entry><literal>tid_minmax_ops</literal></entry>
-     <entry><type>tid</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
-    </row>
-    <row>
-     <entry><literal>timestamp_minmax_ops</literal></entry>
-     <entry><type>timestamp without time zone</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
-    </row>
-    <row>
-     <entry><literal>timestamptz_minmax_ops</literal></entry>
-     <entry><type>timestamp with time zone</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
-    </row>
-    <row>
-     <entry><literal>time_minmax_ops</literal></entry>
-     <entry><type>time without time zone</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
-    </row>
-    <row>
-     <entry><literal>timetz_minmax_ops</literal></entry>
-     <entry><type>time with time zone</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
-    </row>
-    <row>
-     <entry><literal>uuid_minmax_ops</literal></entry>
-     <entry><type>uuid</type></entry>
-     <entry>
-      <literal>&lt;</literal>
-      <literal>&lt;=</literal>
-      <literal>=</literal>
-      <literal>&gt;=</literal>
-      <literal>&gt;</literal>
-     </entry>
+     <entry morerows="4"><literal>varbit_minmax_ops</literal></entry>
+     <entry morerows="4"><type>varbit</type></entry>
+     <entry><literal>=(bit varying,bit varying)</literal></entry>
     </row>
+    <row><entry><literal>&lt;(bit varying,bit varying)</literal></entry></row>
+    <row><entry><literal>&gt;(bit varying,bit varying)</literal></entry></row>
+    <row><entry><literal>&lt;=(bit varying,bit varying)</literal></entry></row>
+    <row><entry><literal>&gt;=(bit varying,bit varying)</literal></entry></row>
    </tbody>
   </tgroup>
  </table>
diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 2d862669c3..6fee0280be 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -85,43 +85,57 @@
     </thead>
     <tbody>
      <row>
-      <entry><literal>array_ops</literal></entry>
-      <entry><type>anyarray</type></entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&lt;@</literal>
-       <literal>=</literal>
-       <literal>@&gt;</literal>
-      </entry>
+      <entry morerows="3"><literal>array_ops</literal></entry>
+      <entry morerows="3"><type>anyarray</type></entry>
+      <entry><literal>&amp;&amp;(anyarray,anyarray)</literal></entry>
      </row>
      <row>
-      <entry><literal>jsonb_ops</literal></entry>
-      <entry><type>jsonb</type></entry>
-      <entry>
-       <literal>?</literal>
-       <literal>?&amp;</literal>
-       <literal>?|</literal>
-       <literal>@&gt;</literal>
-       <literal>@?</literal>
-       <literal>@@</literal>
-      </entry>
+      <entry><literal>@&gt;(anyarray,anyarray)</literal></entry>
      </row>
      <row>
-      <entry><literal>jsonb_path_ops</literal></entry>
-      <entry><type>jsonb</type></entry>
-      <entry>
-       <literal>@&gt;</literal>
-       <literal>@?</literal>
-       <literal>@@</literal>
-      </entry>
+      <entry><literal>&lt;@(anyarray,anyarray)</literal></entry>
      </row>
      <row>
-      <entry><literal>tsvector_ops</literal></entry>
-      <entry><type>tsvector</type></entry>
-      <entry>
-       <literal>@@</literal>
-       <literal>@@@</literal>
-      </entry>
+      <entry><literal>=(anyarray,anyarray)</literal></entry>
+     </row>
+     <row>
+      <entry morerows="5"><literal>jsonb_ops</literal></entry>
+      <entry morerows="5"><type>jsonb</type></entry>
+      <entry><literal>@&gt;(jsonb,jsonb)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>@?(jsonb,jsonpath)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>@@(jsonb,jsonpath)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>?(jsonb,text)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>?|(jsonb,text[])</literal></entry>
+     </row>
+     <row>
+      <entry><literal>?&amp;(jsonb,text[])</literal></entry>
+     </row>
+     <row>
+      <entry morerows="2"><literal>jsonb_path_ops</literal></entry>
+      <entry morerows="2"><type>jsonb</type></entry>
+      <entry><literal>@&gt;(jsonb,jsonb)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>@?(jsonb,jsonpath)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>@@(jsonb,jsonpath)</literal></entry>
+     </row>
+     <row>
+      <entry morerows="1"><literal>tsvector_ops</literal></entry>
+      <entry morerows="1"><type>tsvector</type></entry>
+      <entry><literal>@@(tsvector,tsquery)</literal></entry>
+     </row>
+     <row>
+      <entry><literal>@@@(tsvector,tsquery)</literal></entry>
      </row>
     </tbody>
    </tgroup>
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index a505815f4e..0637077f6f 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -64,146 +64,119 @@
     </thead>
     <tbody>
      <row>
-      <entry><literal>box_ops</literal></entry>
-      <entry><type>box</type></entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&amp;&lt;|</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;&lt;|</literal>
-       <literal>&lt;@</literal>
-       <literal>@&gt;</literal>
-       <literal>@</literal>
-       <literal>|&amp;&gt;</literal>
-       <literal>|&gt;&gt;</literal>
-       <literal>~</literal>
-       <literal>~=</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="13"><literal>box_ops</literal></entry>
+      <entry morerows="13"><type>box</type></entry>
+      <entry><literal>&lt;&lt;(box,box)</literal></entry>
+      <entry morerows="13"><literal>&lt;-&gt;(box,point)</literal></entry>
      </row>
+     <row><entry><literal>&amp;&lt;(box,box)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(box,box)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>~=(box,box)</literal></entry></row>
+     <row><entry><literal>@&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>&lt;@(box,box)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;|(box,box)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;|(box,box)</literal></entry></row>
+     <row><entry><literal>|&gt;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>|&amp;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>~(box,box)</literal></entry></row>
+     <row><entry><literal>@(box,box)</literal></entry></row>
      <row>
-      <entry><literal>circle_ops</literal></entry>
-      <entry><type>circle</type></entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&amp;&lt;|</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;&lt;|</literal>
-       <literal>&lt;@</literal>
-       <literal>@&gt;</literal>
-       <literal>@</literal>
-       <literal>|&amp;&gt;</literal>
-       <literal>|&gt;&gt;</literal>
-       <literal>~</literal>
-       <literal>~=</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="13"><literal>circle_ops</literal></entry>
+      <entry morerows="13"><type>circle</type></entry>
+      <entry><literal>&lt;&lt;(circle,circle)</literal></entry>
+      <entry morerows="13"><literal>&lt;-&gt;(circle,point)</literal></entry>
      </row>
+     <row><entry><literal>&amp;&lt;(circle,circle)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(circle,circle)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(circle,circle)</literal></entry></row>
+     <row><entry><literal>&lt;@(circle,circle)</literal></entry></row>
+     <row><entry><literal>@&gt;(circle,circle)</literal></entry></row>
+     <row><entry><literal>~=(circle,circle)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(circle,circle)</literal></entry></row>
+     <row><entry><literal>|&gt;&gt;(circle,circle)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;|(circle,circle)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;|(circle,circle)</literal></entry></row>
+     <row><entry><literal>|&amp;&gt;(circle,circle)</literal></entry></row>
+     <row><entry><literal>@(circle,circle)</literal></entry></row>
+     <row><entry><literal>~(circle,circle)</literal></entry></row>
      <row>
-      <entry><literal>inet_ops</literal></entry>
-      <entry><type>inet</type>, <type>cidr</type></entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&gt;&gt;=</literal>
-       <literal>&gt;</literal>
-       <literal>&gt;=</literal>
-       <literal>&lt;&gt;</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;&lt;=</literal>
-       <literal>&lt;</literal>
-       <literal>&lt;=</literal>
-       <literal>=</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry morerows="10"><literal>inet_ops</literal></entry>
+      <entry morerows="10"><type>inet</type>, <type>cidr</type></entry>
+      <entry><literal>&lt;&lt;(inet,inet)</literal></entry>
+      <entry morerows="10"></entry>
      </row>
+     <row><entry><literal>&lt;&lt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&lt;&gt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&lt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&lt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(inet,inet)</literal></entry></row>
      <row>
-      <entry><literal>point_ops</literal></entry>
-      <entry><type>point</type></entry>
-      <entry>
-       <literal>&gt;&gt;</literal>
-       <literal>&gt;^</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;@</literal>
-       <literal>&lt;@</literal>
-       <literal>&lt;@</literal>
-       <literal>&lt;^</literal>
-       <literal>~=</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="7"><literal>point_ops</literal></entry>
+      <entry morerows="7"><type>point</type></entry>
+      <entry><literal>&gt;^(point,point)</literal></entry>
+      <entry morerows="7"><literal>&lt;-&gt;(point,point)</literal></entry>
      </row>
+     <row><entry><literal>&lt;&lt;(point,point)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(point,point)</literal></entry></row>
+     <row><entry><literal>&lt;^(point,point)</literal></entry></row>
+     <row><entry><literal>~=(point,point)</literal></entry></row>
+     <row><entry><literal>&lt;@(point,box)</literal></entry></row>
+     <row><entry><literal>&lt;@(point,polygon)</literal></entry></row>
+     <row><entry><literal>&lt;@(point,circle)</literal></entry></row>
      <row>
-      <entry><literal>poly_ops</literal></entry>
-      <entry><type>polygon</type></entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&amp;&lt;|</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;&lt;|</literal>
-       <literal>&lt;@</literal>
-       <literal>@&gt;</literal>
-       <literal>@</literal>
-       <literal>|&amp;&gt;</literal>
-       <literal>|&gt;&gt;</literal>
-       <literal>~</literal>
-       <literal>~=</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="14"><literal>poly_ops</literal></entry>
+      <entry morerows="14"><type>polygon</type></entry>
+      <entry><literal>&lt;&lt;(polygon,polygon)</literal></entry>
+      <entry morerows="14"><literal>&lt;-&gt;(polygon,point)</literal></entry>
      </row>
+     <row><entry><literal>&amp;&lt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&lt;@(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>@&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>~=(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;|(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;|(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>|&amp;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>|&gt;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>@(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>~(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&lt;-&gt;(polygon,point)</literal></entry></row>
      <row>
-      <entry><literal>range_ops</literal></entry>
-      <entry>any range type</entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;@</literal>
-       <literal>-|-</literal>
-       <literal>=</literal>
-       <literal>@&gt;</literal>
-       <literal>@&gt;</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry morerows="9"><literal>range_ops</literal></entry>
+      <entry morerows="9">any range type</entry>
+      <entry><literal>=(anyrange,anyrange)</literal></entry>
+      <entry morerows="9"></entry>
      </row>
+     <row><entry><literal>&amp;&amp;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>@&gt;(anyrange,anyelement)</literal></entry></row>
+     <row><entry><literal>@&gt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&lt;@(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>-|-(anyrange,anyrange)</literal></entry></row>
      <row>
-      <entry><literal>tsquery_ops</literal></entry>
-      <entry><type>tsquery</type></entry>
-      <entry>
-       <literal>&lt;@</literal>
-       <literal>@&gt;</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry morerows="1"><literal>tsquery_ops</literal></entry>
+      <entry morerows="1"><type>tsquery</type></entry>
+      <entry><literal>&lt;@(tsquery,tsquery)</literal></entry>
+      <entry morerows="1"></entry>
      </row>
+     <row><entry><literal>@&gt;(tsquery,tsquery)</literal></entry></row>
      <row>
       <entry><literal>tsvector_ops</literal></entry>
       <entry><type>tsvector</type></entry>
-      <entry>
-       <literal>@@</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry><literal>@@(tsvector,tsquery)</literal></entry>
+      <entry></entry>
      </row>
     </tbody>
    </tgroup>
diff --git a/doc/src/sgml/spgist.sgml b/doc/src/sgml/spgist.sgml
index b86302e4ef..5d45ef81e0 100644
--- a/doc/src/sgml/spgist.sgml
+++ b/doc/src/sgml/spgist.sgml
@@ -75,131 +75,113 @@
     </thead>
     <tbody>
      <row>
-      <entry><literal>kd_point_ops</literal></entry>
-      <entry><type>point</type></entry>
-      <entry>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;@</literal>
-       <literal>&lt;^</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&gt;^</literal>
-       <literal>~=</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="11"><literal>box_ops</literal></entry>
+      <entry morerows="11"><type>box</type></entry>
+      <entry><literal>&lt;&lt;(box,box)</literal></entry>
+      <entry morerows="11"><literal>&lt;-&gt;(box,point)</literal></entry>      
      </row>
+     <row><entry><literal>&amp;&lt;(box,box)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>&lt;@(box,box)</literal></entry></row>
+     <row><entry><literal>@&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>~=(box,box)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(box,box)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;|(box,box)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;|(box,box)</literal></entry></row>
+     <row><entry><literal>|&amp;&gt;(box,box)</literal></entry></row>
+     <row><entry><literal>|&gt;&gt;(box,box)</literal></entry></row>
+
      <row>
-      <entry><literal>quad_point_ops</literal></entry>
-      <entry><type>point</type></entry>
-      <entry>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;@</literal>
-       <literal>&lt;^</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&gt;^</literal>
-       <literal>~=</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="5"><literal>kd_point_ops</literal></entry>
+      <entry morerows="5"><type>point</type></entry>
+      <entry><literal>&gt;^(point,point)</literal></entry>
+      <entry morerows="5"><literal>&lt;-&gt;(point,point)</literal></entry>
      </row>
+     <row><entry><literal>&lt;&lt;(point,point)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(point,point)</literal></entry></row>
+     <row><entry><literal>&lt;^(point,point)</literal></entry></row>
+     <row><entry><literal>~=(point,point)</literal></entry></row>
+     <row><entry><literal>&lt;@(point,box)</literal></entry></row>
+
      <row>
-      <entry><literal>range_ops</literal></entry>
-      <entry>any range type</entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>-|-</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;@</literal>
-       <literal>=</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>@&gt;</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry morerows="10"><literal>network_ops</literal></entry>
+      <entry morerows="10"><type>inet</type>, <type>cidr</type></entry>
+      <entry><literal>&lt;&lt;(inet,inet)</literal></entry>
+      <entry morerows="10"></entry>
      </row>
+     <row><entry><literal>&lt;&lt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&lt;&gt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&lt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&lt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;(inet,inet)</literal></entry></row>
+     <row><entry><literal>&gt;=(inet,inet)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(inet,inet)</literal></entry></row>
+
      <row>
-      <entry><literal>box_ops</literal></entry>
-      <entry><type>box</type></entry>
-      <entry>
-       <literal>&lt;&lt;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>~=</literal>
-       <literal>@&gt;</literal>
-       <literal>&lt;@</literal>
-       <literal>&amp;&lt;|</literal>
-       <literal>&lt;&lt;|</literal>
-       <literal>|&gt;&gt;</literal>
-       <literal>|&amp;&gt;</literal>
-      </entry>
-      <entry>
-       <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="11"><literal>poly_ops</literal></entry>
+      <entry morerows="11"><type>polygon</type></entry>
+      <entry><literal>&lt;&lt;(polygon,polygon)</literal></entry>
+      <entry morerows="11"><literal>&lt;-&gt;(polygon,point)</literal></entry>
      </row>
+     <row><entry><literal>&amp;&lt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&lt;@(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>@&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>~=(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&amp;&amp;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;|(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;|(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>|&gt;&gt;(polygon,polygon)</literal></entry></row>
+     <row><entry><literal>|&amp;&gt;(polygon,polygon)</literal></entry></row>      
+
      <row>
-      <entry><literal>poly_ops</literal></entry>
-      <entry><type>polygon</type></entry>
-      <entry>
-       <literal>&lt;&lt;</literal>
-       <literal>&amp;&lt;</literal>
-       <literal>&amp;&amp;</literal>
-       <literal>&amp;&gt;</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>~=</literal>
-       <literal>@&gt;</literal>
-       <literal>&lt;@</literal>
-       <literal>&amp;&lt;|</literal>
-       <literal>&lt;&lt;|</literal>
-       <literal>|&gt;&gt;</literal>
-       <literal>|&amp;&gt;</literal>
-      </entry>
-      <entry>
-        <literal>&lt;-&gt;</literal>
-      </entry>
+      <entry morerows="5"><literal>quad_point_ops</literal></entry>
+      <entry morerows="5"><type>point</type></entry>
+      <entry><literal>&gt;^(point,point)</literal></entry>
+      <entry morerows="5"><literal>&lt;-&gt;(point,point)</literal></entry>
      </row>
+     <row><entry><literal>&lt;&lt;(point,point)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(point,point)</literal></entry></row>
+     <row><entry><literal>&lt;^(point,point)</literal></entry></row>
+     <row><entry><literal>~=(point,point)</literal></entry></row>
+     <row><entry><literal>&lt;@(point,box)</literal></entry></row>
+
      <row>
-      <entry><literal>text_ops</literal></entry>
-      <entry><type>text</type></entry>
-      <entry>
-       <literal>&lt;</literal>
-       <literal>&lt;=</literal>
-       <literal>=</literal>
-       <literal>&gt;</literal>
-       <literal>&gt;=</literal>
-       <literal>~&lt;=~</literal>
-       <literal>~&lt;~</literal>
-       <literal>~&gt;=~</literal>
-       <literal>~&gt;~</literal>
-       <literal>^@</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry morerows="9"><literal>range_ops</literal></entry>
+      <entry morerows="9">any range type</entry>
+      <entry><literal>=(anyrange,anyrange)</literal></entry>
+      <entry morerows="9"></entry>
      </row>
+     <row><entry><literal>&amp;&amp;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>@&gt;(anyrange,anyelement)</literal></entry></row>
+     <row><entry><literal>@&gt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&lt;@(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&lt;&lt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&gt;&gt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&amp;&lt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>&amp;&gt;(anyrange,anyrange)</literal></entry></row>
+     <row><entry><literal>-|-(anyrange,anyrange)</literal></entry></row>
+ 
      <row>
-      <entry><literal>inet_ops</literal></entry>
-      <entry><type>inet</type>, <type>cidr</type></entry>
-      <entry>
-       <literal>&amp;&amp;</literal>
-       <literal>&gt;&gt;</literal>
-       <literal>&gt;&gt;=</literal>
-       <literal>&gt;</literal>
-       <literal>&gt;=</literal>
-       <literal>&lt;&gt;</literal>
-       <literal>&lt;&lt;</literal>
-       <literal>&lt;&lt;=</literal>
-       <literal>&lt;</literal>
-       <literal>&lt;=</literal>
-       <literal>=</literal>
-      </entry>
-      <entry>
-      </entry>
+      <entry morerows="9"><literal>text_ops</literal></entry>
+      <entry morerows="9"><type>text</type></entry>
+      <entry><literal>=(text,text)</literal></entry>
+      <entry morerows="9"></entry>
      </row>
+     <row><entry><literal>&lt;(text,text)</literal></entry></row>
+     <row><entry><literal>&lt;=(text,text)</literal></entry></row>
+     <row><entry><literal>&gt;(text,text)</literal></entry></row>
+     <row><entry><literal>&gt;=(text,text)</literal></entry></row>
+     <row><entry><literal>~&lt;~(text,text)</literal></entry></row>
+     <row><entry><literal>~&lt;=~(text,text)</literal></entry></row>
+     <row><entry><literal>~&gt;=~(text,text)</literal></entry></row>
+     <row><entry><literal>~&gt;~(text,text)</literal></entry></row>
+     <row><entry><literal>^@(text,text)</literal></entry></row>
     </tbody>
    </tgroup>
   </table>
