PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 17.2 » Programmation serveur » Étendre SQL

Chapitre 36. Étendre SQL

Table des matières

36.1. L'extensibilité
36.2. Le système des types de PostgreSQL
36.2.1. Les types de base
36.2.2. Les types conteneurs
36.2.3. Les domaines
36.2.4. Pseudo-types
36.2.5. Types et fonctions polymorphes
36.3. Fonctions utilisateur
36.4. Procédures utilisateur
36.5. Fonctions en langage de requêtes (SQL)
36.5.1. Arguments pour les fonctions SQL
36.5.2. Fonctions SQL sur les types de base
36.5.3. Fonctions SQL sur les types composites
36.5.4. Fonctions SQL avec des paramètres en sortie
36.5.5. SQL Procedures with Output Parameters
36.5.6. Fonctions SQL avec un nombre variables d'arguments
36.5.7. Fonctions SQL avec des valeurs par défaut pour les arguments
36.5.8. Fonctions SQL comme sources de table
36.5.9. Fonctions SQL renvoyant un ensemble
36.5.10. Fonctions SQL renvoyant TABLE
36.5.11. Fonctions SQL polymorphes
36.5.12. Fonctions SQL et collationnement
36.6. Surcharge des fonctions
36.7. Catégories de volatilité des fonctions
36.8. Fonctions en langage de procédures
36.9. Fonctions internes
36.10. Fonctions en langage C
36.10.1. Chargement dynamique
36.10.2. Types de base dans les fonctions en langage C
36.10.3. Conventions d'appel de la version 1
36.10.4. Écriture du code
36.10.5. Compiler et lier des fonctions chargées dynamiquement
36.10.6. Arguments de type composite
36.10.7. Renvoi de lignes (types composites)
36.10.8. Renvoi d'ensembles
36.10.9. Arguments polymorphes et types renvoyés
36.10.10. Mémoire partagée
36.10.11. LWLocks
36.10.12. Événements d'attente personnalisés
36.10.13. Points d'injection
36.10.14. Coder des extensions en C++
36.11. Informations d'optimisation de fonction
36.12. Agrégats utilisateur
36.12.1. Mode d'agrégat en déplacement
36.12.2. Agrégats polymorphiques et variadiques
36.12.3. Agrégats d'ensemble trié
36.12.4. Agrégation partielle
36.12.5. Fonctions de support pour les agrégats
36.13. Types utilisateur
36.13.1. Considérations sur les TOAST
36.14. Opérateurs définis par l'utilisateur
36.15. Informations sur l'optimisation d'un opérateur
36.15.1. COMMUTATOR
36.15.2. NEGATOR
36.15.3. RESTRICT
36.15.4. JOIN
36.15.5. HASHES
36.15.6. MERGES
36.16. Interfacer des extensions d'index
36.16.1. Méthodes d'indexation et classes d'opérateurs
36.16.2. Stratégies des méthode d'indexation
36.16.3. Routines d'appui des méthodes d'indexation
36.16.4. Exemple
36.16.5. Classes et familles d'opérateur
36.16.6. Dépendances du système pour les classes d'opérateur
36.16.7. Opérateurs de tri
36.16.8. Caractéristiques spéciales des classes d'opérateur
36.17. Empaqueter des objets dans une extension
36.17.1. Fichiers des extensions
36.17.2. Possibilités concernant le déplacement des extensions
36.17.3. Tables de configuration des extensions
36.17.4. Mise à jour d'extension
36.17.5. Installer des extensions en utilisant des scripts de mise à jour
36.17.6. Considérations de sécurité pour les extensions
36.17.7. Exemples d'extensions
36.18. Outils de construction d'extension

Les sections qui suivent présentent les possibilités d'étendre le langage SQL de requêtage de PostgreSQL par l'ajout :