V. Программирование сервера

Эта часть расказывает о расширении функциональности сервера с помощью функций, типов данных, триггеров и т.д., определяемых пользователем. В ней есть такие сложные темы, для понимания которых наверное понадобится понимание всей остальной пользователькой документации о PostgreSQL. Дальнейшие главы в этой части описывает языки программирования доступные в дистрибутиве PostgreSQL на стороне сервера и кроме того общую информацию касающуюся языков программирования на стороне сервера. Необходимо прочитать по крайней мере начальные секции Chapter 31 (описывающие функции) перед тем как начинать материал о языках программирования на стороне сервера.

Table of Contents
31. Расширенный SQL
31.1. Как работают расширения
31.2. Система типов PostgreSQL
31.3. User-Defined Functions
31.4. Query Language (SQL) Functions
31.5. Function Overloading
31.6. Function Volatility Categories
31.7. Procedural Language Functions
31.8. Internal Functions
31.9. C-Language Functions
31.10. User-Defined Aggregates
31.11. Типы, определяемые пользователем
31.12. User-Defined Operators
31.13. Operator Optimization Information
31.14. Interfacing Extensions To Indexes
32. Triggers
32.1. Overview of Trigger Behavior
32.2. Visibility of Data Changes
32.3. Writing Trigger Functions in C
32.4. A Complete Example
33. The Rule System
33.1. The Query Tree
33.2. Views and the Rule System
33.3. Rules on INSERT, UPDATE, and DELETE
33.4. Rules and Privileges
33.5. Rules and Command Status
33.6. Rules versus Triggers
34. Procedural Languages
34.1. Installing Procedural Languages
35. PL/pgSQL - SQL Procedural Language
35.1. Overview
35.2. Tips for Developing in PL/pgSQL
35.3. Structure of PL/pgSQL
35.4. Declarations
35.5. Expressions
35.6. Basic Statements
35.7. Control Structures
35.8. Cursors
35.9. Errors and Messages
35.10. Trigger Procedures
35.11. Porting from Oracle PL/SQL
36. PL/Tcl - Tcl Procedural Language
36.1. Overview
36.2. PL/Tcl Functions and Arguments
36.3. Data Values in PL/Tcl
36.4. Global Data in PL/Tcl
36.5. Database Access from PL/Tcl
36.6. Trigger Procedures in PL/Tcl
36.7. Modules and the unknown command
36.8. Tcl Procedure Names
37. PL/Perl - Perl Procedural Language
37.1. PL/Perl Functions and Arguments
37.2. Database Access from PL/Perl
37.3. Data Values in PL/Perl
37.4. Global Values in PL/Perl
37.5. Trusted and Untrusted PL/Perl
37.6. PL/Perl Triggers
37.7. Limitations and Missing Features
38. PL/Python - Python Procedural Language
38.1. PL/Python Functions
38.2. Trigger Functions
38.3. Database Access
39. Server Programming Interface
39.1. Interface Functions
39.2. Interface Support Functions
39.3. Memory Management
39.4. Visibility of Data Changes
39.5. Examples