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

Version anglaise

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

Table des matières

35. Étendre SQL
35.1. L'extensibilité
35.2. Le système des types de PostgreSQL
35.3. Fonctions utilisateur
35.4. Fonctions en langage de requêtes (SQL)
35.5. Surcharge des fonctions
35.6. Catégories de volatilité des fonctions
35.7. Fonctions en langage de procédures
35.8. Fonctions internes
35.9. Fonctions en langage C
35.10. Agrégats utilisateur
35.11. Types utilisateur
35.12. Opérateurs définis par l'utilisateur
35.13. Informations sur l'optimisation d'un opérateur
35.14. Interfacer des extensions d'index
35.15. Empaqueter des objets dans une extension
35.16. Outils de construction d'extension
36. Déclencheurs (triggers)
36.1. Aperçu du comportement des déclencheurs
36.2. Visibilité des modifications des données
36.3. Écrire des fonctions déclencheurs en C
36.4. Un exemple complet de trigger
37. Système de règles
37.1. Arbre de requêtes
37.2. Vues et système de règles
37.3. Règles sur insert, update et delete
37.4. Règles et droits
37.5. Règles et statut de commande
37.6. Règles contre déclencheurs
38. Langages de procédures
38.1. Installation des langages de procédures
39. PL/pgSQL - Langage de procédures SQL
39.1. Aperçu
39.2. Structure de PL/pgSQL
39.3. Déclarations
39.4. Expressions
39.5. Instructions de base
39.6. Structures de contrôle
39.7. Curseurs
39.8. Erreurs et messages
39.9. Procédures trigger
39.10. Les dessous de PL/pgSQL
39.11. Astuces pour développer en PL/pgSQL
39.12. Portage d'Oracle™ PL/SQL
40. PL/Tcl - Langage de procédures Tcl
40.1. Aperçu
40.2. Fonctions et arguments PL/Tcl
40.3. Valeurs des données avec PL/Tcl
40.4. Données globales avec PL/Tcl
40.5. Accès à la base de données depuis PL/Tcl
40.6. Procédures pour déclencheurs en PL/Tcl
40.7. Les modules et la commande unknown
40.8. Noms de procédure Tcl
41. PL/Perl - Langage de procédures Perl
41.1. Fonctions et arguments PL/Perl
41.2. Valeurs en PL/Perl
41.3. Fonction incluses
41.4. Valeurs globales dans PL/Perl
41.5. Niveaux de confiance de PL/Perl
41.6. Déclencheurs PL/Perl
41.7. PL/Perl sous le capot
42. PL/Python - Langage de procédures Python
42.1. Python 2 et Python 3
42.2. Fonctions PL/Python
42.3. Valeur des données avec PL/Python
42.4. Sharing Data
42.5. Blocs de code anonymes
42.6. Fonctions de déclencheurs
42.7. Accès à la base de données
42.8. Sous-transactions explicites
42.9. Fonctions outils
42.10. Variables d'environnement
43. Interface de programmation serveur
43.1. Fonctions d'interface
43.2. Fonctions de support d'interface
43.3. Gestion de la mémoire
43.4. Visibilité des modifications de données
43.5. Exemples