Ingres 和 Postgres

谈到 PostgreSQL,我们得谈谈 Berkeley,也就是中文“加州大学伯克利分校”这所大学。伯克利(BSD)对计算机科学的贡献巨大,尤其是在操作系统领域,各种BSD系统以及 Bill Joy的TCP实现在整个计算机科学的发展史上熠熠生辉,光芒闪耀。它们的光辉是如此耀眼,以至于让人几乎无法看到伯克利在其它计算机科学的分支上的成就,而 PostgreSQL 正是其中之一。

PostgreSQL 的前身是 BSD 的始于 1977 年的 Ingres 项目,这个项目是 Michael Stonebraker 教授领导的,在 1982 年,Michael Stonebraker 离开伯克利商业化了 Ingres,成为 Relational Technologies 公司的一个产品,后来 Relational Tecchnologies 被 Computer Associates(CA)收购。Ingres 是一个非关系型的数据库(数据关系需要由用户有意识地维护),在 1985 年,Michael Stonebraker 回到伯克利开始一个后-Ingres(post-Ingres)的项目,目的是解决 Ingres 中,同时也是 1980 年代的数据库系统中的主要问题:数据关系维护的问题。这就是 Postgres 的开端。

从1986年开始,Michael Stonebraker 教授发表了一系列论文,探讨了新的数据库的结构设计和扩展设计,然后在 1988 年有了一个原型设计,1989年6月发布了版本 1,1990年6月发布了版本 2,1991年发布了版本 3。在版本 3 里改进了规则系统,增加了多存储系统支持以及改进了查询引擎。在 1993年,用户开始暴涨,并且特性需求急剧增加;在做了一些代码清理、发布了版本 4 之后,Postgres 项目正式终止。而随后 Michael Stonebraker 教授再次去创业,成立 Illustra 公司提供 Postgres 的商业支持,后来 Illustra 在 1997 年被 Informix 收购,而 Michael 教授成为 Informix 的 CTO;再后来 Informix 在 2001 年被 IBM 收购。