DROP LANGUAGE

DROP LANGUAGE

7

SQL - Language Statements

DROP LANGUAGE

remove a procedural language

DROP \[ PROCEDURAL \] LANGUAGE \[ IF EXISTS \]

name

\[ CASCADE \| RESTRICT \]

Description
===========

`DROP LANGUAGE` removes the definition of a previously registered
procedural language. You must be a superuser or the owner of the
language to use `DROP LANGUAGE`.

> **Note**
>
> As of PostgreSQL 9.1, most procedural languages have been made into
> "extensions", and should therefore be removed with
> [`DROP EXTENSION`](#sql-dropextension) not `DROP LANGUAGE`.

Parameters
==========

`IF EXISTS`

:   Do not throw an error if the language does not exist. A notice is
    issued in this case.

name

:   The name of an existing procedural language.

`CASCADE`

:   Automatically drop objects that depend on the language (such as
    functions in the language), and in turn all objects that depend on
    those objects (see [???](#ddl-depend)).

`RESTRICT`

:   Refuse to drop the language if any objects depend on it. This is the
    default.

Examples
========

This command removes the procedural language `plsample`:

    DROP LANGUAGE plsample;

Compatibility
=============

There is no `DROP LANGUAGE` statement in the SQL standard.

See Also
========
