V. Programmation Serveur

Cette partie traite de l'extension des fonctionnalités du serveur avec les fonctions définies par l'utilisateur, les types de données, les déclencheurs (triggers), etc. Ce sont des sujets avancés qui devraient probablement être abordées uniquement après que toutes les autres documentations utilisateurs sur PostgreSQL aient été comprises. Les derniers chapitres de cette partie décrivent les langages de programmation côté serveur disponibles dans la distribution de PostgreSQL ainsi que les problèmes généraux qui les concernent. Il est essentiel de lire au moins les premières sections du Chapitre 31 (traitant des fonctions) avant de se plonger dans les langages de programmation du côté serveur.

Table des matières
31. Extension de SQL
31.1. Comment fonctionne l'extensibilité
31.2. Système de typage de PostgreSQL
31.3. Fonctions définies par l'utilisateur
31.4. Fonctions en langage de requêtes (SQL)
31.5. Surcharge des fonctions
31.6. Catégories de volatibilité des fonctions
31.7. Fonctions en langage de procédures
31.8. Fonctions internes
31.9. Fonctions en langage C
31.10. Agrégats définis par l'utilisateur
31.11. Types définis par l'utilisateur
31.12. Opérateurs définis par l'utilisateur
31.13. Informations sur l'optimisation d'un opérateur
31.14. Interfacer des extensions d'index
32. Déclencheurs (triggers)
32.1. Aperçu du comportement des déclencheurs
32.2. Visibilité des modifications des données
32.3. Écrire des fonctions déclencheurs en C
32.4. Un exemple complet
33. Système de règles
33.1. Arbre de requêtes
33.2. Vues et système de règles
33.3. Règles sur INSERT, UPDATE et DELETE
33.4. Règles et droits
33.5. Règles et statut de commande
33.6. Règles contre déclencheurs
34. Langages de procédures
34.1. Installation de langages de procédures
35. PL/pgSQL - Langage de procédures SQL
35.1. Aperçu
35.2. Astuces pour Développer en PL/pgSQL
35.3. Structure de PL/pgSQL
35.4. Déclarations
35.5. Expressions
35.6. Instructions de base
35.7. Structures de contrôle
35.8. Curseurs
35.9. Erreurs et Messages
35.10. Procédures déclencheur
35.11. Portage d'Oracle PL/SQL
36. PL/Tcl - Langage de procédures Tcl
36.1. Aperçu
36.2. Fonctions et arguments PL/Tcl
36.3. Valeurs des données avec PL/Tcl
36.4. Données globales avec PL/Tcl
36.5. Accès à la base de données depuis PL/Tcl
36.6. Procédures pour déclencheurs en PL/Tcl
36.7. Les modules et la commande unknown
36.8. Noms de procédure Tcl
37. PL/Perl - Langage de procédures Perl
37.1. Fonctions et arguments PL/Perl
37.2. Accès à la base de données depuis PL/Perl
37.3. Valeurs des données dans PL/Perl
37.4. Valeurs globales dans PL/Perl
37.5. Niveaux de confiance de PL/Perl
37.6. Déclencheurs PL/Perl
37.7. Limitations et fonctionnalités absentes
38. PL/Python - Langage procédural Python
38.1. Fonctions PL/Python
38.2. Fonctions de déclencheurs
38.3. Accès à la base de données
39. Interface de programmation serveur
39.1. Fonctions d'interface
39.2. Fonctions de support d'interface
39.3. Gestion de la mémoire
39.4. Visibilité des modifications de données
39.5. Exemples