Home Explore Blog CI



postgresql

doc/src/sgml/ref/drop_opfamily.sgml
6acd41b38784c9963905a27ccce59dd3319b6691a5647b600000000300000e41
<!--
doc/src/sgml/ref/drop_opfamily.sgml
PostgreSQL documentation
-->

<refentry id="sql-dropopfamily">
 <indexterm zone="sql-dropopfamily">
  <primary>DROP OPERATOR FAMILY</primary>
 </indexterm>

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

 <refnamediv>
  <refname>DROP OPERATOR FAMILY</refname>
  <refpurpose>remove an operator family</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP OPERATOR FAMILY [ IF EXISTS ] <replaceable class="parameter">name</replaceable> USING <replaceable class="parameter">index_method</replaceable> [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP OPERATOR FAMILY</command> drops an existing operator family.
   To execute this command you must be the owner of the operator family.
  </para>

  <para>
   <command>DROP OPERATOR FAMILY</command> includes dropping any operator
   classes contained in the family, but it does not drop any of the operators
   or functions referenced by the family.  If there are any indexes depending
   on operator classes within the family, you will need to specify
   <literal>CASCADE</literal> for the drop to complete.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>

   <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the operator family 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 (optionally schema-qualified) of an existing operator family.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">index_method</replaceable></term>
    <listitem>
     <para>
      The name of the index access method the operator family is for.
     </para>
    </listitem>
   </varlistentry>

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

 <refsect1>
  <title>Examples</title>

  <para>
   Remove the B-tree operator family <literal>float_ops</literal>:

<programlisting>
DROP OPERATOR FAMILY float_ops USING btree;
</programlisting>

   This command will not succeed if there are any existing indexes
   that use operator classes within the family.  Add <literal>CASCADE</literal> to
   drop such indexes along with the operator family.
  </para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   There is no <command>DROP OPERATOR FAMILY</command> statement in the
   SQL standard.
  </para>
 </refsect1>

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

  <simplelist type="inline">
   <member><xref linkend="sql-alteropfamily"/></member>
   <member><xref linkend="sql-createopfamily"/></member>
   <member><xref linkend="sql-alteropclass"/></member>
   <member><xref linkend="sql-createopclass"/></member>
   <member><xref linkend="sql-dropopclass"/></member>
  </simplelist>
 </refsect1>

</refentry>

Chunks
7151eb07 (1st chunk of `doc/src/sgml/ref/drop_opfamily.sgml`)
Title: DROP OPERATOR FAMILY
Summary
The DROP OPERATOR FAMILY command removes an existing operator family. You must be the owner of the operator family to execute this command. The command also drops any operator classes contained in the family, but does not drop any of the operators or functions referenced by the family. If there are any indexes depending on operator classes within the family, you will need to specify CASCADE for the drop to complete.