# 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
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.7 for details |