DROP AGGREGATE
Removes an aggregate function.
Synopsis
DROP AGGREGATE [IF EXISTS] <name> ( <aggregate_signature> ) [CASCADE | RESTRICT]
where aggregate_signature is:
* |
[ <argmode> ] [ <argname> ] <argtype> [ , ... ] |
[ [ <argmode> ] [ <argname> ] <argtype> [ , ... ] ] ORDER BY [ <argmode> ] [ <argname> ] <argtype> [ , ... ]
Description
DROP AGGREGATE deletes an existing aggregate function.
To run this command, the current user must be the owner of the aggregate function.
Parameters
| Parameter | Description |
|---|---|
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: |
argname |
The name of an argument.
Note that |
argtype |
An input data type on which the aggregate function operates.
To reference a zero-argument aggregate function, write |
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
Remove the aggregate function myavg() for type integer:
DROP AGGREGATE myavg(integer);
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");
Compatibility
There is no DROP AGGREGATE statement in the SQL standard.