Documentation PostgreSQL 8.2.23 > Préface > Bref historique de PostgreSQL
Préface Conventions

2. Bref historique de PostgreSQL

Le système de bases de données relationnel objet PostgreSQLTM est issu de POSTGRESTM, programme écrit à l'université de Californie à Berkeley. Après plus d'une dizaine d'années de développement, PostgreSQLTM est la base de données OpenSource de référence.

2.1. Le projet POSTGRES à Berkeley

Le projet POSTGRESTM, mené par le professeur Michael Stonebraker, était sponsorisé par le DARPA (acronyme de Defense Advanced Research Projects Agency), l'ARO (acronyme de Army Research Office), la NSF (acronyme de National Science Foundation) et ESL, Inc. Le développement de POSTGRESTM a débuté en 1986. Les concepts initiaux du système ont été présentés dans Stonebraker and Rowe, 1986 et la définition du modèle de données initial apparut dans Rowe and Stonebraker, 1987. Le système de règles fût décrit dans Stonebraker, Hanson, Hong, 1987, l'architecture du gestionnaire de stockage dans Stonebraker, 1987.

Depuis, plusieurs versions majeures de POSTGRESTM ont vu le jour. La première « démo » devint opérationnelle en 1987 et fut présentée en 1988 lors de la conférence ACM-SIGMOD. La version 1, décrite dans Stonebraker, Rowe, Hirohama, 1990, fut livrée à quelques utilisateurs externes en juin 1989. Suite à la critique du premier mécanisme de règles (Stonebraker et al, 1989), celui-ci fut réécrit (Stonebraker et al, ACM, 1990) pour la version 2, présentée en juin 1990. La version 3 apparut en 1991. Elle apporta le support de plusieurs gestionnaires de stockage, un exécuteur de requêtes amélioré et une réécriture du gestionnaire de règles. La plupart des versions qui suivirent, jusqu'à Postgres95TM (voir plus loin), portèrent sur la portabilité et la fiabilité.

POSTGRESTM fut utilisé dans plusieurs applications, en recherche et en production. On peut citer, par exemple : un système d'analyse de données financières, un programme de suivi des performances d'un moteur à réaction, une base de données de suivi d'astéroïdes, une base de données médicale et plusieurs systèmes d'informations géographiques. POSTGRESTM a aussi été utilisé comme support de formation dans plusieurs universités. Illustra Information Technologies (devenu InformixTM, maintenant détenu par IBM) a repris le code et l'a commercialisé. Fin 1992, POSTGRESTM est devenu le gestionnaire de données principal du projet de calcul scientifique Sequoia 2000.

La taille de la communauté d'utilisateurs doubla quasiment au cours de l'année 1993. De manière évidente, la maintenance du prototype et le support prenaient un temps considérable, temps qui aurait dû être employé à la recherche en bases de données. Dans un souci de réduction du travail de support, le projet POSTGRESTM de Berkeley se termina officiellement avec la version 4.2.

2.2. Postgres95

En 1994, Andrew Yu et Jolly Chen ajoutèrent un interpréteur de langage SQL à POSTGRESTM. Sous le nouveau nom de Postgres95TM, le projet fut publié sur le Web comme descendant libre (OpenSource) du code source initial de POSTGRESTM, version Berkeley.

Le code de Postgres95TM était écrit en pur C ANSI et réduit de 25%. De nombreux changements internes améliorèrent les performances et la maintenabilité. Les versions 1.0.x de Postgres95TM passèrent le Wisconsin Benchmark de 30 à 50% plus vite que POSTGRESTM, version 4.2. À part les correctifs de bogues, les principales améliorations furent les suivantes :

  • le langage PostQUEL est remplacé par SQL (implanté sur le serveur) ; les requêtes imbriquées n'ont pas été supportées avant PostgreSQLTM (voir plus loin) mais elles pouvaient être imitées dans Postgres95TM à l'aide de fonctions SQL utilisateur ; les agrégats furent reprogrammés, la clause GROUP BY ajoutée ;

  • un nouveau programme, psql, qui utilise GNU Readline, permet l'exécution interactive de requêtes SQL ; c'est la fin du programme monitor ;

  • une nouvelle bibliothèque cliente, libpgtcl, supporte les programmes écrits en Tcl ; un shell exemple, pgtclsh, fournit de nouvelles commandes Tcl pour interfacer des programmes Tcl avec Postgres95TM ;

  • l'interface de gestion des « Large Objects » est réécrite ; jusque-là, le seul mécanisme de stockage de ces objets passait par le système de fichier Inversion (« Inversion file system ») ; ce système est abandonné ;

  • le système de règles d'instance est supprimé ; les règles sont toujours disponibles en tant que règles de réécriture ;

  • un bref tutoriel présentant les possibilités du SQL ainsi que celles spécifiques à Postgres95TM est distribué avec les sources ;

  • la version GNU de make (à la place de la version BSD) est utilisée pour la construction ; Postgres95TM peut également être compilé avec un GCCTM sans correctif (l'alignement des doubles est corrigé).

2.3. PostgreSQL

En 1996, le nom « Postgres95 » commence à mal vieillir. Le nom choisi, PostgreSQLTM, souligne le lien entre POSTGRESTM et les versions suivantes qui intégrent le SQL. En parallèle, la version est numérotée 6.0 pour reprendre la numérotation du projet POSTGRESTM de Berkeley.

Lors du développement de Postgres95TM, l'effort était axé sur l'identification et la compréhension des problèmes dans le code. Avec PostgreSQLTM, l'accent est mis sur les nouvelles fonctionnalités, sans pour autant abandonner les autres domaines.

L'historique de PostgreSQLTM à partir de ce moment est disponible dans l'Annexe E, Notes de version.

AltStyle によって変換されたページ (->オリジナル) /