PostgreSQL 9.6.17 Documentation
Prev | Up |  | Next

# DROP LANGUAGE

## Name

DROP LANGUAGE -- remove a procedural language

## Synopsis

    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 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. For backward compatibility, the name can be enclosed by single quotes.

`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 Section 5.13).

`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

ALTER LANGUAGE, CREATE LANGUAGE, droplang

Prev | Home | Next
DROP INDEX | Up | DROP MATERIALIZED VIEW