## 52.29. `pg_language`

[]()

 The catalog `pg_language` registers languages in which you can write functions or stored procedures. See [CREATE LANGUAGE](sql-createlanguage.html) and [Chapter 42](xplang.html) for more information about language handlers.

**Table 52.29. `pg_language` Columns**

|                                                                                                                                     Column Type<br/><br/> Description                                                                                                                                    |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                                                                                                   `oid` `oid`<br/><br/> Row identifier                                                                                                                                   |
|                                                                                                                             `lanname` `name`<br/><br/> Name of the language                                                                                                                              |
|                                                                                                `lanowner` `oid` (references [`pg_authid`](catalog-pg-authid.html).`oid`)<br/><br/> Owner of the language                                                                                                 |
|                `lanispl` `bool`<br/><br/> 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`<br/><br/> 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`](catalog-pg-proc.html).`oid`)<br/><br/> 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`](catalog-pg-proc.html).`oid`)<br/><br/> This references a function that is responsible for executing “inline” anonymous code blocks ([DO](sql-do.html) blocks). Zero if inline blocks are not supported.                             |
|                   `lanvalidator` `oid` (references [`pg_proc`](catalog-pg-proc.html).`oid`)<br/><br/> 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[]`<br/><br/> Access privileges; see [Section 5.7](ddl-priv.html) for details                                                                                                      |

