A newer version of this documentation is available. Use the version menu above to view the most up-to-date release of the Greenplum 6.x documentation.


Defines a new procedural language for a database.


createlang [connection_option ...] [-e] langname [[-d] dbname]

createlang [connection-option ...] -l dbname

createlang -? | --help

createlang -V | --version


The createlang utility adds a new procedural language to a database. createlang is a wrapper around the SQL command CREATE EXTENSION.

Note: createlang is deprecated and may be removed in a future release. From Greenplum Database 6.x, using createlang to add a procedural language package generates an error. Use the CREATE EXTENSION command instead.

The procedural language packages included in the standard Greenplum Database distribution are:

  • PL/pgSQL
  • PL/Perl
  • PL/Python

The PL/pgSQL language is registered in all databases by default.

Greenplum Database also has language handlers for PL/Java and PL/R, but those languages are not pre-installed with Greenplum Database. See the Greenplum PL/Java Language Extension and Greenplum PL/R Language Extension sections in the documentation for more information.


Specifies the name of the procedural language to be installed. (This name is lower-cased.)
[-d] dbname | [--dbname=]dbname
Specifies the database to which the language should be added. The default is to use the PGDATABASE environment variable setting, or the same name as the current system user.
-e | --echo
Echo the commands that createlang generates and sends to the server.
-l dbname | --list dbname
Show a list of already installed languages in the target database.
-V | --version
Print the createlang version and exit.
-? | --help
Show help about createlang command line arguments, and exit.
Connection Options
-h host | --host=host
The host name of the machine on which the Greenplum master database server is running. If not specified, reads from the environment variable PGHOST or defaults to localhost.
-p port | --port=port
The TCP port on which the Greenplum master database server is listening for connections. If not specified, reads from the environment variable PGPORT or defaults to 5432.
-U username | --username=username
The database role name to connect as. If not specified, reads from the environment variable PGUSER or defaults to the current system role name.
-w | --no-password
Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.
-W | --password
Force a password prompt.


To install the language plperl into the database mytestdb:

createlang plperl mytestdb