52.29. pg_language
 The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 42 for more information about language handlers. 
Table 52.29. pg_language Columns
| Name | Type | References | Description | 
|---|---|---|---|
oid | oid | Row identifier (hidden attribute; must be explicitly selected) | |
lanname | name | Name of the language | |
lanowner | 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 |  | 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 | 
laninline | 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 |  | 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 GRANT and REVOKE for details | 

