select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

SQL COMMANDS / FUNCTIONS & PROCEDURES

remove a procedural language

Syntax

DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ]
Syntax diagrams

Read left to right. Branches are choices, bypasses are optional, loops repeat. Select an underlined parameter to open its rule.

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.

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.15).

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
Version history 5
  1. PG 19 → 20changed
  2. PG 18 → 19changed
  3. PG 16 → 17changed
  4. PG 13 → 14changed
  5. PG 11 → 12changed

Related entries

Definition snapshot: 2026-09-14T13:14:25.700916+00:00@99e6866c · English manual source