Home Explore Blog CI



postgresql

3rd chunk of `doc/src/sgml/brin.sgml`
b1a3f1ac15c35d71a7d8a83073107c364e1100a6397b486d0000000100000fba
 <firstterm>minmax</firstterm>
  operator classes store the minimum and the maximum values appearing
  in the indexed column within the range.  The <firstterm>inclusion</firstterm>
  operator classes store a value which includes the values in the indexed
  column within the range.  The <firstterm>bloom</firstterm> operator
  classes build a Bloom filter for all values in the range.  The
  <firstterm>minmax-multi</firstterm> operator classes store multiple
  minimum and maximum values, representing values appearing in the indexed
  column within the range.
 </para>

 <table id="brin-builtin-opclasses-table">
  <title>Built-in <acronym>BRIN</acronym> Operator Classes</title>
  <tgroup cols="2">
   <thead>
    <row>
     <entry>Name</entry>
     <entry>Indexable Operators</entry>
    </row>
   </thead>
   <tbody>
    <row>
     <entry valign="middle" morerows="4"><literal>bit_minmax_ops</literal></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 valign="middle" morerows="12"><literal>box_inclusion_ops</literal></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 valign="middle"><literal>bpchar_bloom_ops</literal></entry>
     <entry><literal>= (character,character)</literal></entry>
    </row>

    <row>
     <entry valign="middle" morerows="4"><literal>bpchar_minmax_ops</literal></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 valign="middle"><literal>bytea_bloom_ops</literal></entry>
     <entry><literal>= (bytea,bytea)</literal></entry>
    </row>

    <row>
     <entry valign="middle" morerows="4"><literal>bytea_minmax_ops</literal></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 valign="middle"><literal>char_bloom_ops</literal></entry>
     <entry><literal>= ("char","char")</literal></entry>
    </row>

    <row>
     <entry valign="middle" morerows="4"><literal>char_minmax_ops</literal></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>

Title: Built-in BRIN Operator Classes
Summary
PostgreSQL provides various built-in BRIN operator classes, including minmax, inclusion, bloom, and minmax-multi, which support different data types such as bit, box, bpchar, bytea, and char, and enable indexing for various operators like equality, less than, greater than, and containment.