The pg_language system catalog table registers languages in which you can write functions or stored procedures. It is populated by CREATE LANGUAGE.

    columntypereferencesdescription
    lannamename Name of the language.
    lanowneroidpg_authid.oidOwner of the language.
    lanisplboolean 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 may be replaced by a different mechanism in the future.
    lanpltrustedboolean 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 may create functions in untrusted languages.
    lanplcallfoidoidpg_proc.oidFor noninternal languages this references the language handler, which is a special function that is responsible for running all functions that are written in the particular language.
    laninlineoidpg_proc.oidThis references a function that is responsible for running inline anonymous code blocks (see the DO command). Zero if anonymous blocks are not supported.
    lanvalidatoroidpg_proc.oidThis 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.
    lanaclaclitem[] Access privileges for the language.

    Parent topic: System Catalogs Definitions