## DROP ROUTINE

DROP ROUTINE — remove a routine

## Synopsis

    DROP ROUTINE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
        [ CASCADE | RESTRICT ]

## Description

`DROP ROUTINE` removes the definition of an existing routine, which can be an aggregate function, a normal function, or a procedure. See under DROP AGGREGATE, DROP FUNCTION, and DROP PROCEDURE for the description of the parameters, more examples, and further details.

## Examples

To drop the routine `foo` for type `integer`:

    DROP ROUTINE foo(integer);

This command will work independent of whether `foo` is an aggregate, function, or procedure.

## Compatibility

This command conforms to the SQL standard, with these Postgres Pro extensions:

- The standard only allows one routine to be dropped per command.

- The `IF EXISTS` option

- The ability to specify argument modes and names

- Aggregate functions are an extension.

## See Also

DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, ALTER ROUTINE

Note that there is no `CREATE ROUTINE` command.