Ce document est le Tutoriel du système de gestion de base de données nommé PostgreSQL et développé à l'origine à l'Université de Californie à Berkeley. PostgreSQL est basé sur la version 4.2. Le projet Postgres, dirigé par le professeur Michael Stonebraker, bénéficiait de subsides fournis par le Defense Research Projects Agency (DARPA), le Army Research Office (ARO), la National Science Foundation (NSF) et ESL, Inc.
Les systèmes traditionnels de gestion de bases de données relationnelles (DBMS, en français : SGBDR) offrent un modèle de données composé d'une collection de relations contenant des attributs relevant chacun d'un type spécifique. Les systèmes commerciaux gèrent par exemple les nombres décimaux, les entiers, les chaînes de caractères, les monnaies et les dates. Il est communément admis que ce modèle est inadéquat pour les applications de traitement de données de l'avenir car, si le modèle relationnel a remplacé avec succès les modèles précédents en partie grâce à sa « simplicité spartiate », cette dernière complique cependant l'implémentation de certaines applications. Postgres apporte une puissance additionnelle substantielle en incorporant les quatre concepts de base suivants afin que les utilisateurs puissent facilement étendre le système :
classes |
héritage |
types |
fonctions |
D'autres fonctionnalités accroissent la puissance et la souplesse :
contraintes |
déclencheurs |
règles |
intégrité des transactions |
Ces fonctionnalités placent Postgres dans la catégorie des bases de données objet-relationnel. Ne confondez pas cette catégorie avec celle des serveurs d'objets qui ne tolèrent pas aussi bien les langages traditionnels d'accès aux SGBDR. Ainsi, bien que Postgres possède certaines fonctionnalités orientées objet, il appartient avant tout au monde des SGBDR. Certaines bases commerciales ont d'ailleurs récemment incorporé des fonctionnalités développées pour Postgres.