Bref historique de PostgreSQL

Le système de bases de données relationnel objet PostgreSQL est issu de POSTGRES, programme écrit à l'université de Californie à Berkeley. Avec plus d'une dizaine d'années de développement, PostgreSQL est la plus avancée des bases de données libres.

Le projet POSTGRES de Berkeley

Le projet POSTGRES, mené par le professeur Michael Stonebraker, était sponsorisé par l'agence des projets avancés de la Défense (DARPA, acronyme de Advanced Research Projects Agency), le bureau des recherches de l'armée (ARO, acronyme de Army Research Office), le NSF (acronyme de National Science Foundation) ainsi que ESL, Inc. L'implémentation de POSTGRES a commencé en 1986. Les concepts initiaux du système ont été présenté dans The design of POSTGRES et la définition du modèle de données initial est apparu dans The POSTGRES data model. Le concept du système de règles à ce moment était décrit dans The design of the POSTGRES rules system. L'architecture du gestionnaire de stockage était détaillée dans The design of the POSTGRES storage system.

Postgres a connu plusieurs versions majeures depuis. La première << démo >> devint opérationnel en 1987 et fut présenté en 1988 à la conférence ACM-SIGMOD. La version 1, décrite dans The implementation of POSTGRES, fut livrée à quelques utilisateurs externes en juin 1989. En réponse à une critique du premier mécanisme de règles (A commentary on the POSTGRES rules system), celui-ci fut réécrit (On Rules, Procedures, Caching and Views in Database Systems) dans la version 2, présentée en juin 1990. La version 3 apparut en 1991. Elle ajoutait le support de plusieurs gestionnaires de stockage, un exécuteur de requêtes amélioré et un gestionnaire de règles réécrit. La plupart des versions suivantes jusqu'à Postgres95 (voir plus loin) portèrent sur la portabilité et la fiabilité.

POSTGRES fut utilisé pour réaliser différentes applications de recherche et de production. 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. POSTGRES a aussi été utilisé comme outil de formation dans plusieurs universités. Enfin, Illustra Information Technologies (devenu Informix, maintenant détenu par IBM) a repris le code et l'a commercialisé. Fin 1992, POSTGRES devint le gestionnaire de données principal du projet de calcul scientifique Sequoia 2000 fin 1992.

La taille de la communauté d'utilisateurs doubla pratiquement durant l'année 1993. Il devint de plus en plus évident que la maintenance du code et le support nécessitaient de plus en plus de temps et d'énergie, qui auraient dûs être employés à des recherches sur les bases de données. Afin de réduire le poids du support, le projet POSTGRES de Berkeley se termina officiellement avec la version 4.2.

Postgres95

En 1994, Andrew Yu et Jolly Chen ajoutèrent un interpréteur de langage SQL à POSTGRES. Sous un nouveau nom, Postgres95 fut par la suite publié sur le Web, afin de devenir un descendant libre (open-source) du code source initial de POSTGRES, version Berkeley.

Le code de Postgres95 était complètement compatible avec le C ANSI et 25% moins gros. De nombreux changements internes amélioraient les performances et la maintenabilité. Les versions 1.0.x de Postgres95 étaient 30 à 50% plus rapides que POSTGRES, version 4.2, pour le test Wisconsin Benchmark. Mis à part les corrections de bogues, les principales améliorations étaient :

PostgreSQL

En 1996, il devint évident que le nom << Postgres95 >> vieillissait mal. Nous avons choisi un nouveau nom, PostgreSQL, pour mettre en avant la relation entre le POSTGRES original et les capacités SQL des versions plus récentes. En même temps, nous avons positionné le numéro de version à 6.0, pour reprendre la numérotation originale du projet POSTGRES de Berkeley.

Durant le développement de Postgres95, un effort particulier avait été fourni pour identifier et comprendre les problèmes existants dans le code. Avec PostgreSQL, la priorité put être mise sur l'augmentation des caractéristiques et des possibilités, même si le travail a continué dans tous les domaines.

Les détails sur ce qui est arrivé à PostgreSQL à partir de ce moment est disponible dans l'Annexe E.