PostgreSQLLa base de données la plus sophistiquée au monde.

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 32, Extension de SQL (qui traitent des fonctions) avant de se plonger dans les langages de programmation serveur.

Table des matières

32. Extension de SQL
32.1. Comment fonctionne l'extensibilité
32.2. Système de typage de PostgreSQL
32.3. Fonctions définies par l'utilisateur
32.4. Fonctions en langage de requêtes (SQL)
32.5. Surcharge des fonctions
32.6. Catégories de volatibilité des fonctions
32.7. Fonctions en langage de procédures
32.8. Fonctions internes
32.9. Fonctions en langage C
32.10. Agrégats utilisateur
32.11. Types utilisateur
32.12. Opérateurs définis par l'utilisateur
32.13. Informations sur l'optimisation d'un opérateur
32.14. Interfacer des extensions d'index
33. Déclencheurs (triggers)
33.1. Aperçu du comportement des déclencheurs
33.2. Visibilité des modifications des données
33.3. Écrire des fonctions déclencheurs en C
33.4. Un exemple complet
34. Système de règles
34.1. Arbre de requêtes
34.2. Vues et système de règles
34.3. Règles sur insert, update et delete
34.4. Règles et droits
34.5. Règles et statut de commande
34.6. Règles contre déclencheurs
35. Langages de procédures
35.1. Installation des langages de procédures
36. PL/pgSQL - Langage de procédures SQL
36.1. Aperçu
36.2. Astuces pour développer en PL/pgSQL
36.3. Structure de PL/pgSQL
36.4. Déclarations
36.5. Expressions
36.6. Instructions de base
36.7. Structures de contrôle
36.8. Curseurs
36.9. Erreurs et messages
36.10. Procédures trigger
36.11. Portage d'Oracle PL/SQL
37. PL/Tcl - Langage de procédures Tcl
37.1. Aperçu
37.2. Fonctions et arguments PL/Tcl
37.3. Valeurs des données avec PL/Tcl
37.4. Données globales avec PL/Tcl
37.5. Accès à la base de données depuis PL/Tcl
37.6. Procédures pour déclencheurs en PL/Tcl
37.7. Les modules et la commande unknown
37.8. Noms de procédure Tcl
38. PL/Perl - Langage de procédures Perl
38.1. Fonctions et arguments PL/Perl
38.2. Accès à la base de données depuis PL/Perl
38.3. Valeurs des données dans PL/Perl
38.4. Valeurs globales dans PL/Perl
38.5. Niveaux de confiance de PL/Perl
38.6. Déclencheurs PL/Perl
38.7. Limitations et fonctionnalités absentes
39. PL/Python - Langage de procédures Python
39.1. Fonctions PL/Python
39.2. Fonctions de déclencheurs
39.3. Accès à la base de données
40. Interface de programmation serveur
40.1. Fonctions d'interface
40.2. Fonctions de support d'interface
40.3. Gestion de la mémoire
40.4. Visibilité des modifications de données
40.5. Exemples