Home Explore Blog CI



postgresql

doc/src/sgml/ref/drop_rule.sgml
3be2d37f1bdc6e595d700f40fd163d8c23408fa5f746292a0000000300000a99
<!--
doc/src/sgml/ref/drop_rule.sgml
PostgreSQL documentation
-->

<refentry id="sql-droprule">
 <indexterm zone="sql-droprule">
  <primary>DROP RULE</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>DROP RULE</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP RULE</refname>
  <refpurpose>remove a rewrite rule</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP RULE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> ON <replaceable class="parameter">table_name</replaceable> [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP RULE</command> drops a rewrite rule.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>

   <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the rule does not exist. A notice is issued
      in this case.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">name</replaceable></term>
    <listitem>
     <para>
      The name of the rule to drop.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">table_name</replaceable></term>
    <listitem>
     <para>
      The name (optionally schema-qualified) of the table or view that
      the rule applies to.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <listitem>
     <para>
      Automatically drop objects that depend on the rule,
      and in turn all objects that depend on those objects
      (see <xref linkend="ddl-depend"/>).
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>RESTRICT</literal></term>
    <listitem>
     <para>
      Refuse to drop the rule if any objects depend on it.  This is
      the default.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   To drop the rewrite rule <literal>newrule</literal>:

<programlisting>
DROP RULE newrule ON mytable;
</programlisting></para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   <command>DROP RULE</command> is a
   <productname>PostgreSQL</productname> language extension, as is the
   entire query rewrite system.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-createrule"/></member>
   <member><xref linkend="sql-alterrule"/></member>
  </simplelist>
 </refsect1>

</refentry>

Chunks
8b0350d9 (1st chunk of `doc/src/sgml/ref/drop_rule.sgml`)
Title: DROP RULE: Remove a Rewrite Rule in PostgreSQL
Summary
The DROP RULE command removes an existing rewrite rule from a table or view. It includes options to prevent errors if the rule doesn't exist (IF EXISTS), cascade the deletion to dependent objects (CASCADE), or restrict deletion if dependencies exist (RESTRICT). The command syntax is `DROP RULE [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]`. It's a PostgreSQL extension to the SQL language.