Home Explore Blog CI



postgresql

17th chunk of `doc/src/sgml/catalogs.sgml`
dab95d162e0c4eb7a51a91cc5db003570a7f899c7f0d13ac0000000100000fa6
 linkend="catalog-pg-collation"><structname>pg_collation</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       The defined collation of the column, or zero if the column is
       not of a collatable data type
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>attstattarget</structfield> <type>int2</type>
      </para>
      <para>
       <structfield>attstattarget</structfield> controls the level of detail
       of statistics accumulated for this column by
       <link linkend="sql-analyze"><command>ANALYZE</command></link>.
       A zero value indicates that no statistics should be collected.
       A null value says to use the system default statistics target.
       The exact meaning of positive values is data type-dependent.
       For scalar data types, <structfield>attstattarget</structfield>
       is both the target number of <quote>most common values</quote>
       to collect, and the target number of histogram bins to create.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>attacl</structfield> <type>aclitem[]</type>
      </para>
      <para>
       Column-level access privileges, if any have been granted specifically
       on this column
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>attoptions</structfield> <type>text[]</type>
      </para>
      <para>
       Attribute-level options, as <quote>keyword=value</quote> strings
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>attfdwoptions</structfield> <type>text[]</type>
      </para>
      <para>
       Attribute-level foreign data wrapper options, as <quote>keyword=value</quote> strings
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>attmissingval</structfield> <type>anyarray</type>
      </para>
      <para>
       This column has a one element array containing the value used when the
       column is entirely missing from the row, as happens when the column is
       added with a non-volatile <literal>DEFAULT</literal> value after the
       row is created.  The value is only used when
       <structfield>atthasmissing</structfield> is true.  If there is no value
       the column is null.
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

  <para>
   In a dropped column's <structname>pg_attribute</structname> entry,
   <structfield>atttypid</structfield> is reset to zero, but
   <structfield>attlen</structfield> and the other fields copied from
   <link linkend="catalog-pg-type"><structname>pg_type</structname></link> are still valid.  This arrangement is needed
   to cope with the situation where the dropped column's data type was
   later dropped, and so there is no <structname>pg_type</structname> row anymore.
   <structfield>attlen</structfield> and the other fields can be used
   to interpret the contents of a row of the table.
  </para>
 </sect1>


 <sect1 id="catalog-pg-authid">
  <title><structname>pg_authid</structname></title>

  <indexterm zone="catalog-pg-authid">
   <primary>pg_authid</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_authid</structname> contains information about
   database authorization identifiers (roles).  A role subsumes the concepts
   of <quote>users</quote> and <quote>groups</quote>.  A user is essentially just a
   role with the <structfield>rolcanlogin</structfield> flag set.  Any role (with or
   without <structfield>rolcanlogin</structfield>) can have other roles as members; see
   <link linkend="catalog-pg-auth-members"><structname>pg_auth_members</structname></link>.
  </para>

  <para>
   Since this catalog contains

Title: pg_attribute Columns and Dropped Columns
Summary
This section continues the description of the pg_attribute columns, covering attacl (column-level access privileges), attoptions (attribute-level options as key-value pairs), attfdwoptions (attribute-level foreign data wrapper options), and attmissingval (the value used when the column is missing from the row). It also describes how dropped columns are handled in pg_attribute, where atttypid is reset to zero, but attlen and other type-related fields remain valid even if the original data type has been dropped.