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.
English manual coverage begins with PostgreSQL 7.4. Source history and runtime observations have their own recorded version boundaries.
Reading PG 18·Select a recorded version
- kind
- catalog
- lang
- en
- measured attributes
- true
- metadata release
- 18.6
- runtime columns
- oid, lanname, lanowner, lanispl, lanpltrusted, lanplcallfoid, laninline, lanvalidator, lanacl
- runtime verified
- false
- source
- english-manual
Definition PG 18
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.
Catalog columns
| Column | Type | Nullability | Description |
|---|---|---|---|
| oid | oid | Not null | Row identifier |
| lanname | name | Not null | Name of the language |
| lanowner | oid | Not null | Owner of the language |
| lanispl | bool | Not null | 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 | Not null | 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 | Not null | 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 | Not null | This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported. |
| lanvalidator | oid | Not null | 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[] | Nullable | Access privileges; see Section 5.8 for details |
Compare versions
Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · catalog-bilingual-repair:ff358b96585ca97a34ea6a72ca3163d04f8dc99829322a4183284b9967123110
Text language: en · catalog-bilingual-repair:ff358b96585ca97a34ea6a72ca3163d04f8dc99829322a4183284b9967123110