DROP PROCEDURE
DROP PROCEDURE — удалить процедуру
Синтаксис
DROP PROCEDURE [ IF EXISTS ]имя[ ( [ [режим_аргумента] [имя_аргумента]тип_аргумента[, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ]
Описание
DROP PROCEDURE удаляет определение существующей процедуры. Пользователь, выполняющий эту команду, должен быть владельцем процедуры. Помимо имени процедуры требуется указать типы её аргументов, так как в базе данных могут существовать несколько процедур с одним именем, но с разными списками аргументов.
Параметры
- IF EXISTS
- Не считать ошибкой, если процедура не существует. В этом случае будет выдано замечание. 
- имя
- Имя существующей процедуры (возможно, дополненное схемой). Если список аргументов не указан, имя процедуры должно быть уникальным в её схеме. 
- режим_аргумента
- Режим аргумента: - INили- VARIADIC. По умолчанию подразумевается- IN.
- имя_аргумента
- Имя аргумента. Заметьте, что на самом деле - DROP PROCEDUREне обращает внимание на имена аргументов, так как для однозначной идентификации процедуры достаточно только типов аргументов.
- тип_аргумента
- Тип данных аргументов процедуры (возможно, дополненный именем схемы), если таковые имеются. 
- CASCADE
- Автоматически удалять объекты, зависящие от данной процедуры, и, в свою очередь, все зависящие от них объекты (см. Раздел 5.13). 
- RESTRICT
- Отказать в удалении процедуры, если от неё зависят какие-либо объекты. Это поведение по умолчанию. 
Примеры
DROP PROCEDURE do_db_maintenance();
Совместимость
Эта команда соответствует стандарту SQL, но дополнена расширениями Postgres Pro:
- Стандарт позволяет удалять с помощью этой команды только одну процедуру. 
- Указание - IF EXISTS
- Возможность указывать режимы и имена аргументов