Home Explore Blog CI



postgresql

12th chunk of `doc/src/sgml/catalogs.sgml`
b9ebabb8e877355b8c2ae2a1eec1c17147414d945a9dd0190000000100000fa5
 fields of the
   referenced <link linkend="catalog-pg-operator"><structname>pg_operator</structname></link> entry.
  </para>

 </sect1>


 <sect1 id="catalog-pg-amproc">
  <title><structname>pg_amproc</structname></title>

  <indexterm zone="catalog-pg-amproc">
   <primary>pg_amproc</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_amproc</structname> stores information about
   support functions associated with access method operator families.  There
   is one row for each support function belonging to an operator family.
  </para>

  <table>
   <title><structname>pg_amproc</structname> Columns</title>
   <tgroup cols="1">
    <thead>
     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       Column Type
      </para>
      <para>
       Description
      </para></entry>
     </row>
    </thead>

    <tbody>
     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oid</structfield> <type>oid</type>
      </para>
      <para>
       Row identifier
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>amprocfamily</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-opfamily"><structname>pg_opfamily</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       The operator family this entry is for
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>amproclefttype</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Left-hand input data type of associated operator
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>amprocrighttype</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Right-hand input data type of associated operator
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>amprocnum</structfield> <type>int2</type>
      </para>
      <para>
       Support function number
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>amproc</structfield> <type>regproc</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       OID of the function
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

  <para>
   The usual interpretation of the
   <structfield>amproclefttype</structfield> and <structfield>amprocrighttype</structfield> fields
   is that they identify the left and right input types of the operator(s)
   that a particular support function supports.  For some access methods
   these match the input data type(s) of the support function itself, for
   others not.  There is a notion of <quote>default</quote> support functions for
   an index, which are those with <structfield>amproclefttype</structfield> and
   <structfield>amprocrighttype</structfield> both equal to the index operator class's
   <structfield>opcintype</structfield>.
  </para>

 </sect1>


 <sect1 id="catalog-pg-attrdef">
  <title><structname>pg_attrdef</structname></title>

  <indexterm zone="catalog-pg-attrdef">
   <primary>pg_attrdef</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_attrdef</structname> stores column default
   expressions and generation expressions.  The main information about columns
   is stored in <link
   linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.

Title: pg_amproc Columns and pg_attrdef Introduction
Summary
This section details the columns of the pg_amproc catalog table: oid (row identifier), amprocfamily (operator family), amproclefttype (left-hand input data type), amprocrighttype (right-hand input data type), amprocnum (support function number), and amproc (OID of the function). It explains the interpretation of amproclefttype and amprocrighttype, and introduces the concept of 'default' support functions. The section then introduces the pg_attrdef catalog, which stores column default and generation expressions.