diff options
Diffstat (limited to 'doc/src/sgml/ref/drop_aggregate.sgml')
-rw-r--r-- | doc/src/sgml/ref/drop_aggregate.sgml | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/drop_aggregate.sgml b/doc/src/sgml/ref/drop_aggregate.sgml new file mode 100644 index 0000000..ba74f4f --- /dev/null +++ b/doc/src/sgml/ref/drop_aggregate.sgml @@ -0,0 +1,184 @@ +<!-- +doc/src/sgml/ref/drop_aggregate.sgml +PostgreSQL documentation +--> + +<refentry id="sql-dropaggregate"> + <indexterm zone="sql-dropaggregate"> + <primary>DROP AGGREGATE</primary> + </indexterm> + + <refmeta> + <refentrytitle>DROP AGGREGATE</refentrytitle> + <manvolnum>7</manvolnum> + <refmiscinfo>SQL - Language Statements</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>DROP AGGREGATE</refname> + <refpurpose>remove an aggregate function</refpurpose> + </refnamediv> + + <refsynopsisdiv> +<synopsis> +DROP AGGREGATE [ IF EXISTS ] <replaceable>name</replaceable> ( <replaceable>aggregate_signature</replaceable> ) [, ...] [ CASCADE | RESTRICT ] + +<phrase>where <replaceable>aggregate_signature</replaceable> is:</phrase> + +* | +[ <replaceable>argmode</replaceable> ] [ <replaceable>argname</replaceable> ] <replaceable>argtype</replaceable> [ , ... ] | +[ [ <replaceable>argmode</replaceable> ] [ <replaceable>argname</replaceable> ] <replaceable>argtype</replaceable> [ , ... ] ] ORDER BY [ <replaceable>argmode</replaceable> ] [ <replaceable>argname</replaceable> ] <replaceable>argtype</replaceable> [ , ... ] +</synopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para> + <command>DROP AGGREGATE</command> removes 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">argmode</replaceable></term> + + <listitem> + <para> + The mode of an argument: <literal>IN</literal> or <literal>VARIADIC</literal>. + If omitted, the default is <literal>IN</literal>. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">argname</replaceable></term> + + <listitem> + <para> + The name of an argument. + Note that <command>DROP AGGREGATE</command> does not actually pay + any attention to argument names, since only the argument data + types are needed to determine the aggregate function's identity. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">argtype</replaceable></term> + <listitem> + <para> + An input data type on which the aggregate function operates. + To reference a zero-argument aggregate function, write <literal>*</literal> + in place of the list of argument specifications. + To reference an ordered-set aggregate function, write + <literal>ORDER BY</literal> between the direct and aggregated argument + specifications. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>CASCADE</literal></term> + <listitem> + <para> + Automatically drop objects that depend on the aggregate function + (such as views using it), + 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 aggregate function if any objects depend on + it. This is the default. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>Notes</title> + + <para> + Alternative syntaxes for referencing ordered-set aggregates + are described under <xref linkend="sql-alteraggregate"/>. + </para> + </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> + + <para> + To remove the hypothetical-set aggregate function <literal>myrank</literal>, + which takes an arbitrary list of ordering columns and a matching list + of direct arguments: +<programlisting> +DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any"); +</programlisting> + </para> + + <para> + To remove multiple aggregate functions in one command: +<programlisting> +DROP AGGREGATE myavg(integer), myavg(bigint); +</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"/></member> + <member><xref linkend="sql-createaggregate"/></member> + </simplelist> + </refsect1> + +</refentry> |