V. Programmation serveur

Cette partie traite des possibilités d'extension des fonctionnalités du serveur par l'ajout de fonctions utilisateur, de types de données, de déclencheurs (triggers), etc. Il est préférable de n'aborder ces sujets, avancés, qu'après avoir compris tous les autres.

Les derniers chapitres décrivent les langages de programmation serveur disponibles avec PostgreSQL™ ainsi que les problèmes de ces langages en général. Il est essentiel de lire au minimum les premières sections du Chapitre 33, Étendre le SQL (qui traitent des fonctions) avant de se plonger dans les langages de programmation serveur.

Table des matières

33. Étendre le SQL
33.1. L'extensibilité
33.2. Le système des types de PostgreSQL
33.3. Fonctions utilisateur
33.4. Fonctions en langage de requêtes (SQL)
33.5. Surcharge des fonctions
33.6. Catégories de volatilité des fonctions
33.7. Fonctions en langage de procédures
33.8. Fonctions internes
33.9. Fonctions en langage C
33.10. Agrégats utilisateur
33.11. Types utilisateur
33.12. Opérateurs définis par l'utilisateur
33.13. Informations sur l'optimisation d'un opérateur
33.14. Interfacer des extensions d'index
34. Déclencheurs (triggers)
34.1. Aperçu du comportement des déclencheurs
34.2. Visibilité des modifications des données
34.3. Écrire des fonctions déclencheurs en C
34.4. Un exemple complet
35. Système de règles
35.1. Arbre de requêtes
35.2. Vues et système de règles
35.3. Règles sur insert, update et delete
35.4. Règles et droits
35.5. Règles et statut de commande
35.6. Règles contre déclencheurs
36. Langages de procédures
36.1. Installation des langages de procédures
37. PL/pgSQL - Langage de procédures SQL
37.1. Aperçu
37.2. Astuces pour développer en PL/pgSQL
37.3. Structure de PL/pgSQL
37.4. Déclarations
37.5. Expressions
37.6. Instructions de base
37.7. Structures de contrôle
37.8. Curseurs
37.9. Erreurs et messages
37.10. Procédures déclencheur
37.11. Portage d'Oracle™ PL/SQL
38. PL/Tcl - Langage de procédures Tcl
38.1. Aperçu
38.2. Fonctions et arguments PL/Tcl
38.3. Valeurs des données avec PL/Tcl
38.4. Données globales avec PL/Tcl
38.5. Accès à la base de données depuis PL/Tcl
38.6. Procédures pour déclencheurs en PL/Tcl
38.7. Les modules et la commande unknown
38.8. Noms de procédure Tcl
39. PL/Perl - Langage de procédures Perl
39.1. Fonctions et arguments PL/Perl
39.2. Accès à la base de données depuis PL/Perl
39.3. Valeurs des données dans PL/Perl
39.4. Valeurs globales dans PL/Perl
39.5. Niveaux de confiance de PL/Perl
39.6. Déclencheurs PL/Perl
39.7. Limitations et fonctionnalités absentes
40. PL/Python - Langage de procédures Python
40.1. Fonctions PL/Python
40.2. Fonctions de déclencheurs
40.3. Accès à la base de données
41. Interface de programmation serveur
41.1. Fonctions d'interface
41.2. Fonctions de support d'interface
41.3. Gestion de la mémoire
41.4. Visibilité des modifications de données
41.5. Exemples