Home Explore Blog CI



postgresql

56th chunk of `doc/src/sgml/catalogs.sgml`
dde8747b5393cda4af4d7cc3f1f9b65f1a9b9bc4354b6c670000000100000fbb
 role="catalog_table_entry"><para role="column_definition">
       <structfield>inhrelid</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       The OID of the child table or index
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>inhparent</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       The OID of the parent table or index
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>inhseqno</structfield> <type>int4</type>
      </para>
      <para>
       If there is more than one direct parent for a child table (multiple
       inheritance), this number tells the order in which the
       inherited columns are to be arranged.  The count starts at 1.
      </para>
      <para>
       Indexes cannot have multiple inheritance, since they can only inherit
       when using declarative partitioning.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>inhdetachpending</structfield> <type>bool</type>
      </para>
      <para>
       <literal>true</literal> for a partition that is in the process of
       being detached; <literal>false</literal> otherwise.
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

 </sect1>

 <sect1 id="catalog-pg-init-privs">
  <title><structname>pg_init_privs</structname></title>

  <indexterm zone="catalog-pg-init-privs">
   <primary>pg_init_privs</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_init_privs</structname> records information about
   the initial privileges of objects in the system.  There is one entry
   for each object in the database which has a non-default (non-NULL)
   initial set of privileges.
  </para>

  <para>
   Objects can have initial privileges either by having those privileges set
   when the system is initialized (by <application>initdb</application>) or when the
   object is created during a <link linkend="sql-createextension"><command>CREATE EXTENSION</command></link> and the
   extension script sets initial privileges using the <link linkend="sql-grant"><command>GRANT</command></link>
   system.  Note that the system will automatically handle recording of the
   privileges during the extension script and that extension authors need
   only use the <command>GRANT</command> and <command>REVOKE</command>
   statements in their script to have the privileges recorded.  The
   <literal>privtype</literal> column indicates if the initial privilege was
   set by <application>initdb</application> or during a
   <command>CREATE EXTENSION</command> command.
  </para>

  <para>
   Objects which have initial privileges set by <application>initdb</application> will
   have entries where <literal>privtype</literal> is
   <literal>'i'</literal>, while objects which have initial privileges set
   by <command>CREATE EXTENSION</command> will have entries where
   <literal>privtype</literal> is <literal>'e'</literal>.
  </para>

  <table>
   <title><structname>pg_init_privs</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>objoid</structfield> <type>oid</type>
       (references any OID column)
      </para>
      <para>
       The OID of the specific object
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para

Title: pg_inherits Columns (Cont.) and pg_init_privs Table
Summary
This section describes the remaining columns of the 'pg_inherits' catalog table: 'inhseqno' (order of inherited columns in multiple inheritance) and 'inhdetachpending' (indicates if a partition is being detached). It then introduces the 'pg_init_privs' catalog, which stores information about the initial privileges of objects in the system. The table includes columns 'objoid' (OID of the object) and 'classoid' (OID of the object's catalog).