Updated on 2024-05-07 GMT+08:00

PG_LANGUAGE

PG_LANGUAGE registers programming languages. You can use them and APIs to write functions or stored procedures.

Table 1 PG_LANGUAGE columns

Name

Type

Reference

Description

oid

oid

-

Row identifier (hidden attribute, which must be specified).

lanname

name

-

Language name.

lanowner

oid

oid in PG_AUTHID

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 column to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.

lanpltrusted

Boolean

-

The 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. The value is false if this is a untrusted language. Only the initial user can create functions in untrusted languages.

lanplcallfoid

oid

oid in PG_PROC

For non-internal languages, this column references the language handler, which is a special function responsible for executing all functions that are written in the particular language.

laninline

oid

oid in PG_PROC

This column references a function responsible for executing "inline" anonymous code blocks (DO blocks). The value is 0 if inline blocks are not supported.

lanvalidator

oid

oid in PG_PROC

This column references a language validator function 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