Description

DROP AGGREGATE removes an existing
aggregate function. To execute this command the current user must
be the owner of the aggregate function.

Parameters

IF EXISTS

Do not throw an error if the aggregate does not exist. A
notice is issued in this case.

name

The name (optionally schema-qualified) of an existing
aggregate function.

argmode

The mode of an argument: IN or
VARIADIC. If omitted, the default
is IN.

argname

The name of an argument. Note that 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.

argtype

An input data type on which the aggregate function
operates. To reference a zero-argument aggregate function,
write * 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.

CASCADE

Automatically drop objects that depend on the aggregate
function.

RESTRICT

Refuse to drop the aggregate function if any objects
depend on it. This is the default.

Notes

Alternative syntaxes for referencing ordered-set aggregates
are described under ALTER
AGGREGATE.

Examples

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: