47.28. pg_language

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 38 for more information about language handlers.

Table 47-28. pg_language Columns

NameTypeReferencesDescription
oidoid Row identifier (hidden attribute; must be explicitly selected)
lannamename Name of the language
lanowneroidpg_authid.oidOwner of the language
lanisplbool  This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.
lanpltrustedbool  True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.
lanplcallfoidoidpg_proc.oid For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language
laninlineoidpg_proc.oid This references a function that is responsible for executing "inline" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.
lanvalidatoroidpg_proc.oid This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.
lanaclaclitem[]  Access privileges; see GRANT and REVOKE for details