<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_aggregate.sgml,v 1.30 2006/09/16 00:30:18 momjian Exp $
PostgreSQL documentation
-->

<refentry id="SQL-DROPAGGREGATE">
 <refmeta>
  <refentrytitle id="SQL-DROPAGGREGATE-TITLE">DROP AGGREGATE</refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP AGGREGATE</refname>
  <refpurpose>remove an aggregate function</refpurpose>
 </refnamediv>

 <indexterm zone="sql-dropaggregate">
  <primary>DROP AGGREGATE</primary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
DROP AGGREGATE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable> ( <replaceable class="PARAMETER">type</replaceable> [ , ... ] ) [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP AGGREGATE</command> will delete an existing
   aggregate function. To execute this command the current
   user must be the owner of the aggregate function.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>

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

   <varlistentry>
    <term><replaceable class="parameter">type</replaceable></term>
    <listitem>
     <para>
      An input data type on which the aggregate function operates.
      To reference a zero-argument aggregate function, write <literal>*</>
      in place of the list of input data types.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <listitem>
     <para>
      Automatically drop objects that depend on the aggregate function.
     </para>
    </listitem>
   </varlistentry>

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

 <refsect1>
  <title>Examples</title>

  <para>
   To remove the aggregate function <literal>myavg</literal> for type
   <type>integer</type>:
<programlisting>
DROP AGGREGATE myavg(integer);
</programlisting>
  </para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

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

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

  <simplelist type="inline">
   <member><xref linkend="sql-alteraggregate" endterm="sql-alteraggregate-title"></member>
   <member><xref linkend="sql-createaggregate" endterm="sql-createaggregate-title"></member>
  </simplelist>
 </refsect1>

</refentry>
