51.29. pg_language

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

Table 51.29. 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.oidFor 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.oidThis references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.
lanvalidatoroidpg_proc.oidThis 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