Home Explore Blog CI



postgresql

80th chunk of `doc/src/sgml/catalogs.sgml`
955a4b502c12ce6265d3fb383cbbc59c7a44ae57659136920000000100000fa5
   <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>ev_class</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       The table this rule is for
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>ev_type</structfield> <type>char</type>
      </para>
      <para>
       Event type that the rule is for: 1 = <xref linkend="sql-select"/>, 2 =
       <xref linkend="sql-update"/>, 3 = <xref linkend="sql-insert"/>, 4 =
       <xref linkend="sql-delete"/>
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>ev_enabled</structfield> <type>char</type>
      </para>
      <para>
       Controls in which <xref linkend="guc-session-replication-role"/> modes
       the rule fires.
       <literal>O</literal> = rule fires in <quote>origin</quote> and <quote>local</quote> modes,
       <literal>D</literal> = rule is disabled,
       <literal>R</literal> = rule fires in <quote>replica</quote> mode,
       <literal>A</literal> = rule fires always.
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>is_instead</structfield> <type>bool</type>
      </para>
      <para>
       True if the rule is an <literal>INSTEAD</literal> rule
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>ev_qual</structfield> <type>pg_node_tree</type>
      </para>
      <para>
       Expression tree (in the form of a
       <function>nodeToString()</function> representation) for the
       rule's qualifying condition
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>ev_action</structfield> <type>pg_node_tree</type>
      </para>
      <para>
       Query tree (in the form of a
       <function>nodeToString()</function> representation) for the
       rule's action
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

  <note>
   <para>
    <literal>pg_class.relhasrules</literal>
    must be true if a table has any rules in this catalog.
   </para>
  </note>

 </sect1>

 <sect1 id="catalog-pg-seclabel">
  <title><structname>pg_seclabel</structname></title>

  <indexterm zone="catalog-pg-seclabel">
   <primary>pg_seclabel</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_seclabel</structname> stores security
   labels on database objects.  Security labels can be manipulated
   with the <link linkend="sql-security-label"><command>SECURITY LABEL</command></link> command.  For an easier
   way to view security labels, see <xref linkend="view-pg-seclabels"/>.
  </para>

  <para>
   See also <link linkend="catalog-pg-shseclabel"><structname>pg_shseclabel</structname></link>,
   which performs a similar function for security labels of database objects
   that are shared across a database cluster.
  </para>

  <table>
   <title><structname>pg_seclabel</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 object this security label pertains to
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>classoid</structfield> <type>oid</type>

Title: pg_rewrite and pg_seclabel Catalogs (cont.)
Summary
This section continues the description of the `pg_rewrite` catalog columns, detailing `ev_enabled` (replication role-based rule firing), `is_instead` (identifying INSTEAD rules), `ev_qual` (qualifying condition expression tree), and `ev_action` (action query tree). It notes the relationship with `pg_class.relhasrules`. Then, the section introduces the `pg_seclabel` catalog, which stores security labels on database objects, referencing the `SECURITY LABEL` command and the `pg_shseclabel` catalog for shared database objects.