Home Explore Blog CI



postgresql

74th chunk of `doc/src/sgml/catalogs.sgml`
bdcd35294f0da109adb56d6bd611445c6e5c20b0b927aa580000000100000fa0
 <para>
       This tells the function handler how to invoke the function.  It
       might be the actual source code of the function for interpreted
       languages, a link symbol, a file name, or just about anything
       else, depending on the implementation language/call convention.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>probin</structfield> <type>text</type>
      </para>
      <para>
       Additional information about how to invoke the function.
       Again, the interpretation is language-specific.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>prosqlbody</structfield> <type>pg_node_tree</type>
      </para>
      <para>
       Pre-parsed SQL function body.  This is used for SQL-language
       functions when the body is given in SQL-standard notation
       rather than as a string literal.  It's null in other cases.
       </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>proconfig</structfield> <type>text[]</type>
      </para>
      <para>
       Function's local settings for run-time configuration variables
      </para></entry>
     </row>

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

  <para>
   For compiled functions, both built-in and dynamically loaded,
   <structfield>prosrc</structfield> contains the function's C-language
   name (link symbol).
   For SQL-language functions, <structfield>prosrc</structfield> contains
   the function's source text if that is specified as a string literal;
   but if the function body is specified in SQL-standard style,
   <structfield>prosrc</structfield> is unused (typically it's an empty
   string) and <structfield>prosqlbody</structfield> contains the
   pre-parsed definition.
   For all other currently-known language types,
   <structfield>prosrc</structfield> contains the function's source
   text.  <structfield>probin</structfield> is null except for
   dynamically-loaded C functions, for which it gives the name of the
   shared library file containing the function.
  </para>

 </sect1>

 <sect1 id="catalog-pg-publication">
  <title><structname>pg_publication</structname></title>

  <indexterm zone="catalog-pg-publication">
   <primary>pg_publication</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_publication</structname> contains all
   publications created in the database.  For more on publications see
   <xref linkend="logical-replication-publication"/>.
  </para>

  <table>
   <title><structname>pg_publication</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>pubname</structfield> <type>name</type>
      </para>
      <para>
       Name of the publication
      </para></entry>
     </row>

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

Title: pg_proc Columns: Source Code, Binary Information, SQL Body, Configuration, Access Privileges, and Introduction to pg_publication
Summary
This section details the remaining `pg_proc` catalog columns: `prosrc` (function handler invocation details, which can be source code, a link symbol, or a filename), `probin` (additional invocation information, language-specific), `prosqlbody` (pre-parsed SQL function body for SQL-language functions), `proconfig` (function's local settings for runtime configuration variables), and `proacl` (access privileges). It explains how `prosrc` and `probin` are used for different types of functions. The section then introduces the `pg_publication` catalog, which contains all publications in the database and describes its columns: `oid` (row identifier), `pubname` (name of the publication) and `pubowner` (owner of the publication).