Updated on 2024-06-03 GMT+08:00

PG_LANGUAGE

PG_LANGUAGE registers 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, which must be specified).

lanname

name

-

Name of the language.

lanowner

oid

OID in PG_AUTHID

Owner of the language.

lanispl

boolean

-

  • true: user-defined language.
  • false: internal language, for example, SQL.

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

-

  • true: The language is trusted, which means that it is believed not to grant access to anything outside the normal SQL execution environment.
  • false: The language is untrusted. 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 permission.