PG_LANGUAGE

PG_LANGUAGE records programming languages. You can use them and interfaces to write functions or stored procedures.

Table 1 PG_LANGUAGE columns

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