Removes an aggregate function.
DROP AGGREGATE [IF EXISTS] <name> ( <aggregate_signature> ) [, ...] [CASCADE | RESTRICT]
where <aggregate_signature> is:
* |
[ <argmode> ] [ <argname> ] <argtype> [ , ... ] |
[ [ <argmode> ] [ <argname> ] <argtype> [ , ... ] ] ORDER BY [ <argmode> ] [ <argname> ] <argtype> [ , ... ]
DROP AGGREGATE
removes an existing aggregate function. To run this command the current user must be the owner of the aggregate function.
IN
or
VARIADIC
. If omitted, the default is
IN
.
DROP AGGREGATE
does not actually pay any attention to argument names, since only the argument data types are needed to determine the aggregate function's identity.
*
in place of the list of argument specifications. To reference an ordered-set aggregate function, write
ORDER BY
between the direct and aggregated argument specifications.
Alternative syntaxes for referencing ordered-set aggregates are described under ALTER AGGREGATE.
To remove the aggregate function myavg
for type integer
:
DROP AGGREGATE myavg(integer);
To remove the hypothetical-set aggregate function myrank
, which takes an arbitrary list of ordering columns and a matching list of direct arguments:
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
To remove multiple aggregate functions in one command:
DROP AGGREGATE myavg(integer), myavg(bigint);
There is no DROP AGGREGATE
statement in the SQL standard.
ALTER AGGREGATE, CREATE AGGREGATE
Parent topic: SQL Commands