DROP AGGREGATE — удаление агрегатной функции
DROP AGGREGATE [ IF EXISTS ]name(aggregate_signature) [, ...] [ CASCADE | RESTRICT ] гдеaggregate_signatureможет быть: * | [argmode] [argname]argtype[ , ... ] | [ [argmode] [argname]argtype[ , ... ] ] ORDER BY [argmode] [argname]argtype[ , ... ]
DROP AGGREGATE удаляет существующую
агрегатную функцию. Для выполнения этой команды текущий
пользователь должен быть владельцем агрегатной функции.
IF EXISTSНе вызывать ошибку, если агрегат не существует. В этом случае выдаётся уведомление.
nameИмя (возможно, с указанием схемы) существующей агрегатной функции.
argmode
Режим аргумента: IN или VARIADIC.
Если опущено, по умолчанию используется IN.
argname
Имя аргумента.
Обратите внимание, что DROP AGGREGATE фактически не обращает
внимания на имена аргументов, поскольку для определения идентификатора
агрегатной функции необходимы только типы данных аргументов.
argtype
Входной тип данных, с которым работает агрегатная функция.
Для ссылки на агрегатную функцию без аргументов напишите *
вместо списка спецификаций аргументов.
Для ссылки на агрегатную функцию упорядоченного множества напишите
ORDER BY между спецификациями прямых и агрегированных аргументов.
CASCADEАвтоматически удалить объекты, зависящие от агрегатной функции (например, представления, использующие её), а также все объекты, зависящие от этих объектов (см. Раздел 2.2.15).
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);
В стандарте SQL нет оператора DROP AGGREGATE.