出身名门
谈到 PostgreSQL,我们不得不谈 Berkeley,也就是中文中的“加州大学伯克利分校”这所大名鼎鼎的大学。老实说,伯克利(BSD)对计算机科学的贡献可谓巨大,在整个计算机科学的发展史上,几乎到处都有这所学校的研究人员和学生的足迹。只要稍微对计算机技术史有些记忆的人都会记得在Unix操作系统的发展里程里BSD这三个字的分量,然而也许正是由于BSD在系统和网络领域里的光芒太耀眼,掩盖了 BSD 对计算机技术其他分支的贡献,而PostgreSQL 正是其中之一。
创世纪–Ingres
追本溯源地讲,PostgreSQL 最早开始于 BSD 的 Ingres 项目,这个项目主要是研究关系型数据库
技术,早在1970年 E.F. Codd 就提出了关系模型,从那以后,人类在计算机领域的数据管理就进入了一个新的时期。从此人们开始用抽象的关系语句来描述自己的数据,大大提高了人类对数据的概括描述能力。而Ingres项目正是就此进行研究的,它始于1977年,到1985年结束,而其研究成果后来被一家叫 Relational Technologies 的商业公司拿去做成了商品软件,后来这家公司又被
Computer Associates(CA)收购,不知道CA的JASEME(?)里面是否还有当年Ingres的影子?
新项目–Postgres
然后,从1986年开始,BSD 的 Michael Stonebraker 教授领导了称为Postgres的
后Ingres项目,其主要目的是数据库管理系统的更高级研究,因此而产生了 PostgreSQL 的直接前身,Postgres,而 PostgreSQL的名字也是从 Postgres 项目继承过来的。这个项目的成果是非常巨大的,在现代数据库的许多方面都做出的大量的贡献,比如,面向对象的数据库,部分索引技术,规则,过程和数据库扩展等方面都走在了 数据库管理系统的前列。而且,Stonebraker 教授还做出了一件造福全人类的事情,那就是把Postgres放在了BSD版权的保护下,在这个版权的范围里,任何人几乎可以做任何事情,包括增强它和商业化等。
条件只是把 BSD 的版权声明包括在软件的源程序里。Postgres在1989年发布了第一个版本,因为是BSD版权,所以很快在各种研究机构和一些公众服务组织里广泛使用起来,由于 众多用户使 Postgres 的开发变得更多地是维护代码和打补丁,而日益背离了原先的数据库管理系统的研究的目标,到了1994年 Postgres 在版本4.2的时候正式终止。而 Postgres 的许多成果则转化成一个商业公司 Illustra,后来 Illustra 被Informix 收购。
看到这里,想必大家应该对 Postgres 的影响有一些认识了吧。
炎黄子孙的贡献–Postgres95
Postgres 并没有因为 Postgres 项目的终止而停止发展,而是获得了一次新生:在1994年,两名伯克利的研究生向伯克利里增加了现代的 SQL 语言的支持。请不要奇怪,SQL 的祖宗是 E.F. C
odd 的关系模型,但是 SQL 作为语言,一直到1992年才形成真正的国际标准(还是草案),当时称为 SQL2,但是人们常称为 SQL92。而在那之前,所以查询语言都是由不同的数据库管理系统自己实现的,比如,在 Postgres 里原来是用叫 Postquel 的查询语言;这两位研究生是 Andrew Yu 和 Jolly Chen,看了名字,大家可能会想:“很象中国人的名字嘛”,没错,他们就是黑头发黄皮肤的炎黄子孙,不过很可惜的是他们并没有在中国的(包括台湾省的)取得这样的成就。
这样,Postgres 迎来了1995年,他们把这个版本的 Postgres 命名为Postgres95,并且继续发布了几个版本,增强了一些特性。
国际化–PostgreSQL
到了1996年,Andrew Yu 和 Jolly Chen 相继离开 Postgres95 的开发队伍,(Andrew Yu 加入了Informix,Jolly Chen 继续读书),而在一些自由软件黑客(注1)的发起下,Postgres项目又开始了新的历程,最先是由几位加拿大黑客发起,开始了 PostgreSQL 项目,后来参与的人越来越多,逐渐成为了一个由近20个国家的近四十名黑客组成的团体共同开发的自由软件项目。PostgreSQL 重新把版本号放到了原先 Postgres 项目的顺序中去,从6.0开始(Postgres 本身到4.2,Postgres95 算5.0)。经过五年多的协作开发,PostgreSQL可以说是目前世界上最先进,功能最强大的自由数据库管理系统。