Home Explore Blog CI



postgresql

doc/src/sgml/ref/drop_trigger.sgml
137d93a86c994a1b36f1754b1e3d4d235d62c9fad424c1590000000300000c18
<!--
doc/src/sgml/ref/drop_trigger.sgml
PostgreSQL documentation
-->

<refentry id="sql-droptrigger">
 <indexterm zone="sql-droptrigger">
  <primary>DROP TRIGGER</primary>
 </indexterm>

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

 <refnamediv>
  <refname>DROP TRIGGER</refname>
  <refpurpose>remove a trigger</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP TRIGGER [ 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 TRIGGER</command> removes an existing
   trigger definition. To execute this command, the current
   user must be the owner of the table for which the trigger is defined.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>

   <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the trigger 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 trigger to remove.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">table_name</replaceable></term>
    <listitem>
     <para>
      The name (optionally schema-qualified) of the table for which
      the trigger is defined.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <listitem>
     <para>
      Automatically drop objects that depend on the trigger,
      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 trigger if any objects depend on it.  This is
      the default.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1 id="sql-droptrigger-examples">
  <title>Examples</title>

  <para>
   Destroy the trigger <literal>if_dist_exists</literal> on the table
   <literal>films</literal>:

<programlisting>
DROP TRIGGER if_dist_exists ON films;
</programlisting></para>
 </refsect1>

 <refsect1 id="sql-droptrigger-compatibility">
  <title>Compatibility</title>

  <para>
   The <command>DROP TRIGGER</command> statement in
   <productname>PostgreSQL</productname> is incompatible with the SQL
   standard.  In the SQL standard, trigger names are not local to
   tables, so the command is simply <literal>DROP TRIGGER
   <replaceable>name</replaceable></literal>.
  </para>
 </refsect1>

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

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

</refentry>

Chunks
42ac1129 (1st chunk of `doc/src/sgml/ref/drop_trigger.sgml`)
Title: DROP TRIGGER
Summary
This documentation describes the DROP TRIGGER command in PostgreSQL, which removes an existing trigger definition. The user must be the owner of the table for which the trigger is defined. The syntax, parameters (including IF EXISTS, name, table_name, CASCADE, and RESTRICT), an example, compatibility with the SQL standard, and related commands are covered.