| <!-- |
| $PostgreSQL: pgsql/doc/src/sgml/ref/drop_opclass.sgml,v 1.13 2008/11/14 10:22:46 petere Exp $ |
| PostgreSQL documentation |
| --> |
| |
| <refentry id="SQL-DROPOPCLASS"> |
| <refmeta> |
| <refentrytitle id="SQL-DROPOPCLASS-TITLE">DROP OPERATOR CLASS</refentrytitle> |
| <manvolnum>7</manvolnum> |
| <refmiscinfo>SQL - Language Statements</refmiscinfo> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>DROP OPERATOR CLASS</refname> |
| <refpurpose>remove an operator class</refpurpose> |
| </refnamediv> |
| |
| <indexterm zone="sql-dropopclass"> |
| <primary>DROP OPERATOR CLASS</primary> |
| </indexterm> |
| |
| <refsynopsisdiv> |
| <synopsis> |
| DROP OPERATOR CLASS [ 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 CLASS</command> drops an existing operator class. |
| To execute this command you must be the owner of the operator class. |
| </para> |
| |
| <para> |
| <command>DROP OPERATOR CLASS</command> does not drop any of the operators |
| or functions referenced by the class. If there are any indexes depending |
| on the operator class, you will need to specify |
| <literal>CASCADE</> 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 class 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 class. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><replaceable class="parameter">index_method</replaceable></term> |
| <listitem> |
| <para> |
| The name of the index access method the operator class is for. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><literal>CASCADE</literal></term> |
| <listitem> |
| <para> |
| Automatically drop objects that depend on the operator class. |
| </para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><literal>RESTRICT</literal></term> |
| <listitem> |
| <para> |
| Refuse to drop the operator class if any objects depend on it. |
| This is the default. |
| </para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </refsect1> |
| |
| <refsect1> |
| <title>Notes</title> |
| |
| <para> |
| <command>DROP OPERATOR CLASS</> will not drop the operator family |
| containing the class, even if there is nothing else left in the |
| family (in particular, in the case where the family was implicitly |
| created by <command>CREATE OPERATOR CLASS</>). An empty operator |
| family is harmless, but for the sake of tidiness you might wish to |
| remove the family with <command>DROP OPERATOR FAMILY</>; or perhaps |
| better, use <command>DROP OPERATOR FAMILY</> in the first place. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Examples</title> |
| |
| <para> |
| Remove the B-tree operator class <literal>widget_ops</literal>: |
| |
| <programlisting> |
| DROP OPERATOR CLASS widget_ops USING btree; |
| </programlisting> |
| |
| This command will not succeed if there are any existing indexes |
| that use the operator class. Add <literal>CASCADE</> to drop |
| such indexes along with the operator class. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Compatibility</title> |
| |
| <para> |
| There is no <command>DROP OPERATOR CLASS</command> statement in the |
| SQL standard. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| |
| <simplelist type="inline"> |
| <member><xref linkend="sql-alteropclass" endterm="sql-alteropclass-title"></member> |
| <member><xref linkend="sql-createopclass" endterm="sql-createopclass-title"></member> |
| <member><xref linkend="sql-dropopfamily" endterm="sql-dropopfamily-title"></member> |
| </simplelist> |
| </refsect1> |
| |
| </refentry> |