Unsupported versions: 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.



droplang -- remove a PostgreSQL procedural language


droplang [connection-options...] langname [dbname]

droplang [connection-options...] --list | -l dbname


droplang accepts the following command line arguments:


Specifies the name of the backend programming language to be removed.

[-d, --dbname] dbname

Specifies from which database the language should be removed. The default is to use the database with the same name as the current system user.

-e, --echo

Displays SQL commands as they are executed.

-l, --list

Shows a list of already installed languages in the target database (which must be specified).

droplang also accepts the following command line arguments for connection parameters:

-h, --host host

Specifies the host name of the machine on which the server is running. If host begins with a slash, it is used as the directory for the Unix domain socket.

-p, --port port

Specifies the Internet TCP/IP port or local Unix domain socket file extension on which the server is listening for connections.

-U, --username username

User name to connect as

-W, --password

Force password prompt.


Most error messages are self-explanatory. If not, run droplang with the --echo option and see under the respective SQL command for details. Check also under psql for more possibilities.


droplang is a utility for removing an existing programming language from a PostgreSQL database. droplang can drop any procedural language, even those not supplied by the PostgreSQL distribution.

Although backend programming languages can be removed directly using several SQL commands, it is recommended to use droplang because it performs a number of checks and is much easier to use. See DROP LANGUAGE for more.


Use createlang to add a language.


To remove pltcl:

$ droplang pltcl dbname