DROP_LANGUAGE - remove a procedural language
| Use Case | Command | Description |
|---|---|---|
| Remove a procedural language | DROP LANGUAGE plsample; |
Removes the definition of the procedural language plsample. |
| Conditionally remove a language | DROP LANGUAGE IF EXISTS name; |
Removes the language name if it exists; issues a notice instead of an error if it does not. |
| Force removal of a language | DROP LANGUAGE name CASCADE; |
Drops the language and automatically drops dependent objects (e.g., functions). |
DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ]
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.
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.RESTRICT — Refuse to drop the language if any objects depend on it. This is the default.This command removes the procedural language plsample:
DROP LANGUAGE plsample;
There is no DROP LANGUAGE statement in the SQL standard.
🔗 ALTER LANGUAGE(7), 🔗 CREATE LANGUAGE(7)
PostgreSQL 14.23 2026 DROP LANGUAGE(7)Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-16 10:03 @2600:1f28:365:80b0:7cb9:fb:26c1:e368
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)