Home Explore Blog CI



postgresql

28th chunk of `doc/src/sgml/catalogs.sgml`
c9440c0976fa2da108b0f7a210748f81c91c7bfa4d5fe92a0000000100000fb7
 should
       never contain anything other than zero for a user-visible relation.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>relfrozenxid</structfield> <type>xid</type>
      </para>
      <para>
       All transaction IDs before this one have been replaced with a permanent
       (<quote>frozen</quote>) transaction ID in this table.  This is used to track
       whether the table needs to be vacuumed in order to prevent transaction
       ID wraparound or to allow <literal>pg_xact</literal> to be shrunk.  Zero
       (<symbol>InvalidTransactionId</symbol>) if the relation is not a table.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>relminmxid</structfield> <type>xid</type>
      </para>
      <para>
       All multixact IDs before this one have been replaced by a
       transaction ID in this table.  This is used to track
       whether the table needs to be vacuumed in order to prevent multixact ID
       wraparound or to allow <literal>pg_multixact</literal> to be shrunk.  Zero
       (<symbol>InvalidMultiXactId</symbol>) if the relation is not a table.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>relacl</structfield> <type>aclitem[]</type>
      </para>
      <para>
       Access privileges; see <xref linkend="ddl-priv"/> for details
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>reloptions</structfield> <type>text[]</type>
      </para>
      <para>
       Access-method-specific options, as <quote>keyword=value</quote> strings
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>relpartbound</structfield> <type>pg_node_tree</type>
      </para>
      <para>
       If table is a partition (see <structfield>relispartition</structfield>),
       internal representation of the partition bound
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

  <para>
   Several of the Boolean flags in <structname>pg_class</structname> are maintained
   lazily: they are guaranteed to be true if that's the correct state, but
   may not be reset to false immediately when the condition is no longer
   true.  For example, <structfield>relhasindex</structfield> is set by
   <link linkend="sql-createindex"><command>CREATE INDEX</command></link>, but it is never cleared by
   <link linkend="sql-dropindex"><command>DROP INDEX</command></link>.  Instead, <link linkend="sql-vacuum"><command>VACUUM</command></link> clears
   <structfield>relhasindex</structfield> if it finds the table has no indexes.  This
   arrangement avoids race conditions and improves concurrency.
  </para>
 </sect1>

 <sect1 id="catalog-pg-collation">
  <title><structname>pg_collation</structname></title>

  <indexterm zone="catalog-pg-collation">
   <primary>pg_collation</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_collation</structname> describes the
   available collations, which are essentially mappings from an SQL
   name to operating system locale categories.
   See <xref linkend="collation"/> for more information.
  </para>

  <table>
   <title><structname>pg_collation</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

Title: pg_class Columns (Continued) and pg_collation Catalog
Summary
This section continues the description of the pg_class catalog columns, including relfrozenxid (oldest unfrozen transaction ID), relminmxid (oldest multixact ID), relacl (access privileges), reloptions (access-method-specific options), and relpartbound (partition bound). It explains that some boolean flags in pg_class are maintained lazily and cleared by VACUUM. The section then introduces the pg_collation catalog, which describes available collations mapping SQL names to OS locale categories, and begins listing its columns, starting with oid (row identifier).