Home Explore Blog CI



postgresql

57th chunk of `doc/src/sgml/catalogs.sgml`
b8f23d08c59ee32d71ac69207bfd4b6825eae1589d13da710000000100000fa0
 <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 role="column_definition">
       <structfield>classoid</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       The OID of the system catalog the object is in
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>objsubid</structfield> <type>int4</type>
      </para>
      <para>
       For a table column, this is the column number (the
       <structfield>objoid</structfield> and <structfield>classoid</structfield> refer to the
       table itself).  For all other object types, this column is
       zero.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>privtype</structfield> <type>char</type>
      </para>
      <para>
       A code defining the type of initial privilege of this object; see text
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>initprivs</structfield> <type>aclitem[]</type>
      </para>
      <para>
       The initial access privileges; see
       <xref linkend="ddl-priv"/> for details
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

 </sect1>


 <sect1 id="catalog-pg-language">
  <title><structname>pg_language</structname></title>

  <indexterm zone="catalog-pg-language">
   <primary>pg_language</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_language</structname> registers
   languages in which you can write functions or stored procedures.
   See <xref linkend="sql-createlanguage"/>
   and <xref linkend="xplang"/> for more information about language handlers.
  </para>

  <table>
   <title><structname>pg_language</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>lanname</structfield> <type>name</type>
      </para>
      <para>
       Name of the language
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>lanowner</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-authid"><structname>pg_authid</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Owner of the language
      </para></entry>
     </row>

     <row>
   

Title: pg_init_privs Columns (Cont.) and pg_language Table
Summary
This section details the remaining columns of the `pg_init_privs` catalog table: `objsubid` (column number for table columns, 0 otherwise), `privtype` (type of initial privilege, 'i' for initdb, 'e' for CREATE EXTENSION), and `initprivs` (initial access privileges). It then introduces the `pg_language` catalog, which stores information about languages used for functions and stored procedures. The table includes columns like `oid` (row identifier), `lanname` (language name), and `lanowner` (owner of the language).