PG_LANGUAGE¶
PG_LANGUAGE records programming languages. You can use them and interfaces to write functions or stored procedures.
Name | Type | Reference | Description |
---|---|---|---|
oid | oid |
| Row identifier (hidden attribute; must be explicitly selected) |
lanname | name |
| Name of the language |
lanowner | oid | PG_AUTHID.oid | Owner of the language |
lanispl | boolean |
| The value is false for internal languages (such as SQL) and true for user-defined languages. Currently, gs_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 | boolean |
| Its value is 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 the initial user can create functions in untrusted languages. |
lanplcallfoid | oid | PG_PROC.oid | For external 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 | PG_PROC.oid | This references a function that is responsible for executing "inline" anonymous code blocks (DO blocks). The value is 0 if inline blocks are not supported. |
lanvalidator | oid | 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. The value is 0 if no validator is provided. |
lanacl | aclitem[] |
| Access permissions |