Documentation PostgreSQL 8.1.23 > Internes > Présentation des mécanismes internes de PostgreSQL > Système de règles de PostgreSQL | |
Étape d'analyse | Planificateur/Optimiseur |
PostgreSQL™ supporte un puissant système de règles pour la spécification des vues et des mises à jour de vues ambiguës. À l'origine, le système de règles de PostgreSQL™ consistait en deux implémentations :
Le premier a fonctionné en utilisant le niveau des lignes et était implémenté profondément dans l'exécuteur. Le système de règles était appelé à chaque fois qu'il fallait accéder à une ligne individuelle. Cette implémentation a été supprimée en 1995 quand la dernière version officielle du projet Berkeley Postgres™ a été transformé en Postgres95™.
La deuxième implémentation du système de règles est une technique appelée la réécriture de requêtes. Le système de réécriture est un module qui existe entre l'étape d'analyse et le planificateur/optimiseur. Cette technique est toujours implémentée.
Le système de réécriture de requêtes est vu plus en détails dans le Chapitre 34, Système de règles, donc il n'est pas nécessaire d'en parler ici. Nous indiquerons seulement qu'à la fois l'entrée et la sortie du système sont des arbres de requêtes, c'est-à-dire qu'il n'y a pas de changement dans la représentation ou le niveau du détail sémantique des arbres. La réécriture peut être imaginée comme une forme d'expansion de macro.