Home Explore Blog CI



postgresql

65th chunk of `doc/src/sgml/catalogs.sgml`
5527253dd9038f000b2bf51de2e3013419f26dc879ab909d0000000100000faf
 linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Join selectivity estimation function for this operator
       (zero if none)
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

 </sect1>


 <sect1 id="catalog-pg-opfamily">
  <title><structname>pg_opfamily</structname></title>

  <indexterm zone="catalog-pg-opfamily">
   <primary>pg_opfamily</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_opfamily</structname> defines operator families.
   Each operator family is a collection of operators and associated
   support routines that implement the semantics specified for a particular
   index access method.  Furthermore, the operators in a family are all
   <quote>compatible</quote>, in a way that is specified by the access method.
   The operator family concept allows cross-data-type operators to be used
   with indexes and to be reasoned about using knowledge of access method
   semantics.
  </para>

  <para>
   Operator families are described at length in <xref linkend="xindex"/>.
  </para>

  <table>
   <title><structname>pg_opfamily</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>opfmethod</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-am"><structname>pg_am</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Index access method operator family is for
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>opfname</structfield> <type>name</type>
      </para>
      <para>
       Name of this operator family
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>opfnamespace</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-namespace"><structname>pg_namespace</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Namespace of this operator family
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>opfowner</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Owner of the operator family
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

  <para>
   The majority of the information defining an operator family is not in its
   <structname>pg_opfamily</structname> row, but in the associated rows in
   <link linkend="catalog-pg-amop"><structname>pg_amop</structname></link>,
   <link linkend="catalog-pg-amproc"><structname>pg_amproc</structname></link>,
   and
   <link linkend="catalog-pg-opclass"><structname>pg_opclass</structname></link>.
  </para>

 </sect1>


 <sect1 id="catalog-pg-parameter-acl">
  <title><structname>pg_parameter_acl</structname></title>

  <indexterm zone="catalog-pg-parameter-acl">
   <primary>pg_parameter_acl</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_parameter_acl</structname> records configuration
   parameters for which privileges have been granted to one or more roles.
   No entry is made for parameters that have default privileges.
  </para>

  <para>
   Unlike most system catalogs, <structname>pg_parameter_acl</structname>

Title: pg_opfamily Catalog: Defining Operator Families for Index Access Methods
Summary
This section introduces the `pg_opfamily` catalog, which defines operator families. These families are collections of operators and support routines that implement the semantics for a specific index access method. The operators within a family are 'compatible,' allowing cross-data-type operators to be used with indexes. The section details the columns of the `pg_opfamily` catalog, including `oid`, `opfmethod`, `opfname`, `opfnamespace`, and `opfowner`, and then mentions the `pg_amop`, `pg_amproc` and `pg_opclass` catalogs.