Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Avance rapide | Suivant |
Dans cette section, nous discutons de la façon d'étendre le langage de requêtes PostgreSQL en ajoutant des :
fonctions (commençant à la Section 33.3) ;
agrégats (commençant à la Section 33.9) ;
types de données (commençant à la Section 33.10) ;
opérateurs (commençant à la Section 33.11) ;
classes d'opérateurs pour les index (commençant à la Section 33.13).
PostgreSQL est extensible parce qu'il opère grâce à un catalogue. Si vous êtes familier avec les systèmes standards de bases de données, vous savez qu'ils enregistrent les informations concernant les bases de données, les tables, les colonnes, etc., dans ce qu'on nomme communément des catalogues systèmes (certains systèmes appellent cela le dictionnaire de données). Pour l'utilisateur, les catalogues apparaissent comme des tables ordinaires mais le SGBD y enregistre ses écritures internes. Une différence essentielle entre PostgreSQL et les systèmes de bases de données relationnelles est que PostgreSQL enregistre beaucoup plus d'informations dans ses catalogues : pas seulement l'information à propos des tables et des colonnes, mais aussi l'information au sujet des types de données, des fonctions, des méthodes d'accès, etc. Ces tables peuvent être modifiées par l'utilisateur et, puisque PostgreSQL fonde ses opérations sur ces tables, cela signifie que PostgreSQL peut être étendu par les utilisateurs. En comparaison, les systèmes de bases de données conventionnels peuvent seulement être étendus en modifiant les procédures dans le code source ou en installant des modules spécifiquement écrits par le vendeur de SGBD.
Encore mieux, le serveur PostgreSQL peut s'ajouter du code écrit par l'utilisateur grâce au chargement dynamique. C'est-à-dire que l'utilisateur peut spécifier un fichier de code objet (par exemple une bibliothèque partagée) qui implémente un nouveau type ou une nouvelle fonction et que PostgreSQL chargera à la demande. Il est encore plus évident d'ajouter au serveur du code écrit en SQL. Cette possibilité de modifier son fonctionnement << à la volée >> fait de PostgreSQL un outil unique pour le prototypage rapide de nouvelles applications et de structures de stockage.
Précédent | Sommaire | Suivant |
Programmation Serveur | Niveau supérieur | Système de typage de PostgreSQL |