52.29. pg_language
| Up | Chapter 52. System Catalogs | Home |

## 52.29. pg_language #

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

Table 52.29. pg_language Columns

Column Type Description
`oid` oid Row identifier
`lanname` name Name of the language
`lanowner` oid (references pg_authid.`oid`) Owner of the language
`lanispl` bool 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.
`lanpltrusted` bool 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.
`lanplcallfoid` oid (references pg_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. Zero for internal languages.
`laninline` oid (references pg_proc.`oid`) This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.
`lanvalidator` oid (references pg_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.
`lanacl` aclitem[] Access privileges; see Section 5.8 for details

| Up |
| Home |