|
2. 简单回顾 PostgreSQL 的历史现在被称为 PostgreSQL 的对象-关系型数据库管理系统(有一段时间被称为 Postgres95 )是从伯克利写的 POSTGRES 软件包发展而来的。经过十几年的发展, PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统, 它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定 义类型和函数), 并且可以获得非常广阔范围的(开发)语言绑定 (包括 C,C++,Java,perl,tcl,和 python)。 2.1. 伯克利的 POSTGRES 项目POSTGRES DBMS 的实现始于 1986 年, 该系统最初的概念详见 POSTGRES 的设计 . 最早的数据模型定义见 The POSTGRES Data Model . 当时的规则系统设计在 POSTGRES 规则系统的设计 里描述.存储管理器的理论基础和体系结构在 POSTGRES 存储系统的设计 里有详细描述. 从那以后, PostgreSQL 经历了几次主要的版本更新. 第一个"演示性"系统在 1987 年便可使用了, 并且在 1988 年的 ACM-SIGMOD 大会上展出.在 1989 年六月发布了版本 1(在 POSTGRES 的实现 里有描述)给一些外部的用户使用. 为了回应用户对第一个规则系统的批评,( POSTGRES 规则系统的注解 ), 我们重新设计了规则系统( 有关数据库系统的规则,过程,缓存和视图 )并在1990年6月发布了使用新规则系统的版本 2. 版本 3 在1991年出现, 增加了多存储管理器的支持, 并且改进了查 询执行器, 重新编写了重写规则系统. 从那以后,随后的版本直到 Postgres95 发布前(见下文),工作都集中在移植性和可靠性上。 POSTGRES 已经在许多研究或实际的应用中得到了应用. 这些应用包括: 一个财务数据分析系统,一个喷气引擎性能监控软件包,一个小行星跟踪数据库, 一个医疗信息数据库和一些地理信息系统. POSTGRES 还被许多大学用于教学用途. 最后, Illustra Information Technologies Illustra Information Technologies (后来并入 Informix ) 后者现在属于 IBM ) 拿到代码并使之商业化.在 1992 年末 POSTGRES 成为 Sequoia 2000 科学计算计划的首要数据管理器. 到了 1993 年,外部用户的数量几乎翻番.随着用户的增加. 用于源代码维护的时间日益增加 占用了太多本应该用于数据库研究的时间, 为了减少支持的负担,伯克利的 POSTGRES 项目在版本 4.2 时正式终止. 2.2. Postgres95在 1994 年, Andrew Yu 和 Jolly Chen 向 POSTGRES 中增加了 SQL 语言的解释器.并随后将 Postgres95 源代码发布到互联网上供大家使用, 成为一个开放源码的,原先伯克利 POSTGRES 代码的继承者. Postgres95 所有源代码都是完全的 ANSI C , 而且代码量减少了 25%.并且有许多内部修改以利于提高性能和代码的维护性. Postgres95 版本 1.0.x 在进行 Wisconsin Benchmark 测试时大概比 POSTGRES v4.2 快 30-50%.除了修正了一些错误,下面的是一些主要改进:
2.3. PostgreSQL到了 1996 年, 我们很明显的看出“Postgres95”这个名字已经不能经得起时间 的考验了.于是我们起了一个新名字 PostgreSQL 用于反映最初的 POSTGRES 和最新的使用 SQL 的版本之间的关系. 同时版本号也 重新从 6.0 开始, 将版本号放回到最初的由 伯克利 POSTGRES 项目开始的顺序中. Postgres95 版本的开发重点放在标明和理解现有的后端代码的问题上. PostgreSQL 开发重点转到了 一些有争议的特性和功能上面,当然各个方面的工作同时都在进行. PostgreSQL 主要的改进有:
|