IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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

Table des matières

36. Étendre SQL
36.1. L'extensibilité
36.2. Le système des types de PostgreSQL
36.3. Fonctions utilisateur
36.4. Fonctions en langage de requêtes (SQL)
36.5. Surcharge des fonctions
36.6. Catégories de volatilité des fonctions
36.7. Fonctions en langage de procédures
36.8. Fonctions internes
36.9. Fonctions en langage C
36.10. Agrégats utilisateur
36.11. Types utilisateur
36.12. Opérateurs définis par l'utilisateur
36.13. Informations sur l'optimisation d'un opérateur
36.14. Interfacer des extensions d'index
36.15. Empaqueter des objets dans une extension
36.16. Outils de construction d'extension
37. Déclencheurs (triggers)
37.1. Aperçu du comportement des déclencheurs
37.2. Visibilité des modifications des données
37.3. Écrire des fonctions déclencheurs en C
37.4. Un exemple complet de trigger
38. Déclencheurs (triggers) sur évènement
38.1. Aperçu du fonctionnement des triggers sur évènement
38.2. Matrice de déclenchement des triggers sur évènement
38.3. Écrire des fonctions trigger sur événement en C
38.4. Un exemple complet de trigger sur événement
38.5. Un exemple de trigger sur événement de table modifiée
39. Système de règles
39.1. Arbre de requêtes
39.2. Vues et système de règles
39.3. Vues matérialisées
39.4. Règles sur insert, update et delete
39.5. Règles et droits
39.6. Règles et statut de commande
39.7. Règles contre déclencheurs
40. Langages de procédures
40.1. Installation des langages de procédures
41. PL/pgSQL - Langage de procédures SQL
41.1. Aperçu
41.2. Structure de PL/pgSQL
41.3. Déclarations
41.4. Expressions
41.5. Instructions de base
41.6. Structures de contrôle
41.7. Curseurs
41.8. Erreurs et messages
41.9. Procédures trigger
41.10. Les dessous de PL/pgSQL
41.11. Astuces pour développer en PL/pgSQL
41.12. Portage d'Oracle™ PL/SQL
42. PL/Tcl - Langage de procédures Tcl
42.1. Aperçu
42.2. Fonctions et arguments PL/Tcl
42.3. Valeurs des données avec PL/Tcl
42.4. Données globales avec PL/Tcl
42.5. Accès à la base de données depuis PL/Tcl
42.6. Procédures pour déclencheurs en PL/Tcl
42.7. Procédures de trigger sur événement en PL/Tcl
42.8. Gestion des erreurs avec PL/Tcl
42.9. Les modules et la commande unknown
42.10. Noms de procédure Tcl
43. PL/Perl - Langage de procédures Perl
43.1. Fonctions et arguments PL/Perl
43.2. Valeurs en PL/Perl
43.3. Fonction incluses
43.4. Valeurs globales dans PL/Perl
43.5. Niveaux de confiance de PL/Perl
43.6. Déclencheurs PL/Perl
43.7. Triggers sur événements avec PL/Perl
43.8. PL/Perl sous le capot
44. PL/Python - Langage de procédures Python
44.1. Python 2 et Python 3
44.2. Fonctions PL/Python
44.3. Valeur des données avec PL/Python
44.4. Sharing Data
44.5. Blocs de code anonymes
44.6. Fonctions de déclencheurs
44.7. Accès à la base de données
44.8. Sous-transactions explicites
44.9. Fonctions outils
44.10. Variables d'environnement
45. Interface de programmation serveur
45.1. Fonctions d'interface
45.2. Fonctions de support d'interface
45.3. Gestion de la mémoire
45.4. Visibilité des modifications de données
45.5. Exemples
46. Processus en tâche de fond (background worker)
47. Décodage logique (Logical Decoding)
47.1. Exemples de décodage logique
47.2. Concepts de décodage logique
47.3. Interface du protocole de réplication par flux
47.4. Interface SQL de décodage logique
47.5. Catalogues systèmes liés au décodage logique
47.6. Plugins de sortie de décodage logique
47.7. Écrivains de sortie de décodage logique
47.8. Support de la réplication synchrone pour le décodage logique
48. Tracer la progression de la réplication