DROP AGGREGATE
DROP AGGREGATE — удалить агрегатную функцию
Синтаксис
DROP AGGREGATE [ IF EXISTS ]имя(сигнатура_агр_функции) [, ...] [ CASCADE | RESTRICT ] Здесьсигнатура_агр_функции: * | [режим_аргумента] [имя_аргумента]тип_аргумента[ , ... ] | [ [режим_аргумента] [имя_аргумента]тип_аргумента[ , ... ] ] ORDER BY [режим_аргумента] [имя_аргумента]тип_аргумента[ , ... ]
Описание
DROP AGGREGATE удаляет существующую агрегатную функцию. Пользователь, выполняющий эту команду, должен быть владельцем агрегатной функции.
Параметры
- IF EXISTS
- Не считать ошибкой, если агрегатная функция не существует. В этом случае будет выдано замечание. 
- имя
- Имя существующей агрегатной функции (возможно, дополненное схемой). 
- режим_аргумента
- Режим аргумента: - INили- VARIADIC. По умолчанию подразумевается- IN.
- имя_аргумента
- Имя аргумента. Заметьте, что на самом деле - DROP AGGREGATEне обращает внимание на имена аргументов, так как для однозначной идентификации агрегатной функции достаточно только типов аргументов.
- тип_аргумента
- Тип входных данных, с которыми работает агрегатная функция. Чтобы сослаться на агрегатную функцию без аргументов, укажите вместо списка аргументов - *, а чтобы сослаться на сортирующую агрегатную функцию, добавьте- ORDER BYмежду указаниями непосредственных и агрегируемых аргументов.
- CASCADE
- Автоматически удалять объекты, зависящие от данной агрегатной функции (например, использующие её представления), и, в свою очередь, все зависящие от них объекты (см. Раздел 5.14). 
- RESTRICT
- Отказать в удалении агрегатной функции, если от неё зависят какие-либо объекты. Это поведение по умолчанию. 
Примечания
Альтернативные варианты указания сортирующих агрегатов описаны в ALTER AGGREGATE.
Примеры
Удаление агрегатной функции myavg для типа integer: 
DROP AGGREGATE myavg(integer);
Удаление гипотезирующей агрегатной функции myrank, которая принимает произвольный список сортируемых столбцов и соответствующий список непосредственных аргументов: 
DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");
Удаление нескольких агрегатных функций одной командой:
DROP AGGREGATE myavg(integer), myavg(bigint);
Совместимость
Оператор DROP AGGREGATE отсутствует в стандарте SQL.