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-26 09:12 @216.73.217.141
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)