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

Table des matières

34. Étendre SQL
34.1. L'extensibilité
34.2. Le système des types de PostgreSQL
34.3. Fonctions utilisateur
34.4. Fonctions en langage de requêtes (SQL)
34.5. Surcharge des fonctions
34.6. Catégories de volatilité des fonctions
34.7. Fonctions en langage de procédures
34.8. Fonctions internes
34.9. Fonctions en langage C
34.10. Agrégats utilisateur
34.11. Types utilisateur
34.12. Opérateurs définis par l'utilisateur
34.13. Informations sur l'optimisation d'un opérateur
34.14. Interfacer des extensions d'index
35. Déclencheurs (triggers)
35.1. Aperçu du comportement des déclencheurs
35.2. Visibilité des modifications des données
35.3. Écrire des fonctions déclencheurs en C
35.4. Un exemple complet
36. Système de règles
36.1. Arbre de requêtes
36.2. Vues et système de règles
36.3. Règles sur insert, update et delete
36.4. Règles et droits
36.5. Règles et statut de commande
36.6. Règles contre déclencheurs
37. Langages de procédures
37.1. Installation des langages de procédures
38. PL/pgSQL - Langage de procédures SQL
38.1. Aperçu
38.2. Structure de PL/pgSQL
38.3. Déclarations
38.4. Expressions
38.5. Instructions de base
38.6. Structures de contrôle
38.7. Curseurs
38.8. Erreurs et messages
38.9. Procédures trigger
38.10. Les dessous de PL/pgSQL
38.11. Astuces pour développer en PL/pgSQL
38.12. Portage d'Oracle™ PL/SQL
39. PL/Tcl - Langage de procédures Tcl
39.1. Aperçu
39.2. Fonctions et arguments PL/Tcl
39.3. Valeurs des données avec PL/Tcl
39.4. Données globales avec PL/Tcl
39.5. Accès à la base de données depuis PL/Tcl
39.6. Procédures pour déclencheurs en PL/Tcl
39.7. Les modules et la commande unknown
39.8. Noms de procédure Tcl
40. PL/Perl - Langage de procédures Perl
40.1. Fonctions et arguments PL/Perl
40.2. Accès à la base de données depuis PL/Perl
40.3. Valeurs des données dans PL/Perl
40.4. Valeurs globales dans PL/Perl
40.5. Niveaux de confiance de PL/Perl
40.6. Déclencheurs PL/Perl
40.7. Limitations et fonctionnalités absentes
41. PL/Python - Langage de procédures Python
41.1. Fonctions PL/Python
41.2. Fonctions de déclencheurs
41.3. Accès à la base de données
42. Interface de programmation serveur
42.1. Fonctions d'interface
42.2. Fonctions de support d'interface
42.3. Gestion de la mémoire
42.4. Visibilité des modifications de données
42.5. Exemples