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