select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Supported versions: Current (18) / 17 / 16 / 15 / 14
Development versions: 19 / devel
Unsupported versions: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Historical version. PostgreSQL 7.2 reached end of support in February 2007. See the current version for supported releases.

Chapter 22. Procedural Languages

Table of Contents
22.1. Introduction
22.2. Installing Procedural Languages

22.1. Introduction

PostgreSQL allows users to add new programming languages to be available for writing functions and procedures. These are called procedural languages (PL). In the case of a function or trigger procedure written in a procedural language, the database server has no built-in knowledge about how to interpret the function's source text. Instead, the task is passed to a special handler that knows the details of the language. The handler could either do all the work of parsing, syntax analysis, execution, etc. itself, or it could serve as "glue" between PostgreSQL and an existing implementation of a programming language. The handler itself is a special programming language function compiled into a shared object and loaded on demand.

Writing a handler for a new procedural language is described in Section 12.7. Several procedural languages are available in the standard PostgreSQL distribution, which can serve as examples.

Report a documentation issue

Read the upstream documentation. For corrections, first check the current version.