Home Explore Blog CI



postgresql

58th chunk of `doc/src/sgml/catalogs.sgml`
3a692247de1c3bfbd1b75cb420a1b5af30de9ea74648b9740000000100000fc3
 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>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>lanispl</structfield> <type>bool</type>
      </para>
      <para>
       This is false for internal languages (such as
       <acronym>SQL</acronym>) and true for user-defined languages.
       Currently, <application>pg_dump</application> still uses this
       to determine which languages need to be dumped, but this might be
       replaced by a different mechanism in the future.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>lanpltrusted</structfield> <type>bool</type>
      </para>
      <para>
       True if this is a trusted language, which means that it is believed
       not to grant access to anything outside the normal SQL execution
       environment.  Only superusers can create functions in untrusted
       languages.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>lanplcallfoid</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       For noninternal languages this references the language
       handler, which is a special function that is responsible for
       executing all functions that are written in the particular
       language. Zero for internal languages.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>laninline</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       This references a function that is responsible for executing
       <quote>inline</quote> anonymous code blocks
       (<xref linkend="sql-do"/> blocks).
       Zero if inline blocks are not supported.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>lanvalidator</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       This references a language validator function that is responsible
       for checking the syntax and validity of new functions when they
       are created.  Zero if no validator is provided.
      </para></entry>
     </row>

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

 </sect1>


 <sect1 id="catalog-pg-largeobject">
  <title><structname>pg_largeobject</structname></title>

Title: pg_language Columns (Continued)
Summary
This section continues describing the columns of the `pg_language` catalog table. It details `lanispl` (true for user-defined languages, false for internal), `lanpltrusted` (true if the language is trusted), `lanplcallfoid` (OID of the language handler function), `laninline` (OID of the function for executing inline code blocks), `lanvalidator` (OID of the language validator function), and `lanacl` (access privileges for the language). Finally, it introduces the `pg_largeobject` catalog.