2. PostgreSQL简史


2. PostgreSQL的简要历史。


2.1. 伯克利的POSTGRES项目。

由Michael Stonebraker教授领导的POSTGRES项目得到了国防高级研究计划局(DARPA)、陆军研究办公室(ARO)、国家科学基金会(NSF)和ESL公司的赞助。POSTGRES的实施始于1986年。该系统的最初概念是在 [ston86], 对初始数据模型的定义出现在 [rowe87]. 那时的规则系统设计被描述为 [ston87a]. 存储管理器的基本原理和架构细节在 [ston87b].

自那时以来,POSTGRES经历了几次重大发布。第一个“演示软件”系统于1987年投入运营,并在1988年ACM-SIGMOD会议上展示。版本1,描述在 [ston90a], 在1989年6月向少数外部用户发布。针对第一个规则系统的批评,回应在 ([ston89]), 规则系统被重新设计 ([ston90b]), 第二版于1990年6月发布,采用了新的规则系统。版本3出现在1991年,增加了对多个存储管理器的支持、改进的查询执行器和重写的规则系统。在大多数情况下,Postgres95之前的后续版本(见下文)都侧重于可移植性和可靠性。

cccyzloong 翻译于 1个月前

POSTGRES has been used to implement many different research and production applications. These include: a financial data analysis system, a jet engine performance monitoring package, an asteroid tracking database, a medical information database, and several geographic information systems. POSTGRES has also been used as an educational tool at several universities. Finally, Illustra Information Technologies (later merged into Informix, which is now owned by IBM) picked up the code and commercialized it. In late 1992, POSTGRES became the primary data manager for the Sequoia 2000 scientific computing project.

The size of the external user community nearly doubled during 1993. It became increasingly obvious that maintenance of the prototype code and support was taking up large amounts of time that should have been devoted to database research. In an effort to reduce this support burden, the Berkeley POSTGRES project officially ended with Version 4.2.

2.2. Postgres95

In 1994, Andrew Yu and Jolly Chen added an SQL language interpreter to POSTGRES. Under a new name, Postgres95 was subsequently released to the web to find its own way in the world as an open-source descendant of the original POSTGRES Berkeley code.

Postgres95 code was completely ANSI C and trimmed in size by 25%. Many internal changes improved performance and maintainability. Postgres95 release 1.0.x ran about 30–50% faster on the Wisconsin Benchmark compared to POSTGRES, Version 4.2. Apart from bug fixes, the following were the major enhancements:

  • The query language PostQUEL was replaced with SQL (implemented in the server). (Interface library libpq was named after PostQUEL.) Subqueries were not supported until PostgreSQL (see below), but they could be imitated in Postgres95 with user-defined SQL functions. Aggregate functions were re-implemented. Support for the GROUP BY query clause was also added.
  • A new program (psql) was provided for interactive SQL queries, which used GNU Readline. This largely superseded the old monitor program.
  • A new front-end library, libpgtcl, supported Tcl-based clients. A sample shell, pgtclsh, provided new Tcl commands to interface Tcl programs with the Postgres95 server.
  • The large-object interface was overhauled. The inversion large objects were the only mechanism for storing large objects. (The inversion file system was removed.)
  • The instance-level rule system was removed. Rules were still available as rewrite rules.
  • A short tutorial introducing regular SQL features as well as those of Postgres95 was distributed with the source code
  • GNU make (instead of BSD make) was used for the build. Also, Postgres95 could be compiled with an unpatched GCC (data alignment of doubles was fixed).

2.3. PostgreSQL

By 1996, it became clear that the name “Postgres95” would not stand the test of time. We chose a new name, PostgreSQL, to reflect the relationship between the original POSTGRES and the more recent versions with SQL capability. At the same time, we set the version numbering to start at 6.0, putting the numbers back into the sequence originally begun by the Berkeley POSTGRES project.

Many people continue to refer to PostgreSQL as “Postgres” (now rarely in all capital letters) because of tradition or because it is easier to pronounce. This usage is widely accepted as a nickname or alias.

The emphasis during development of Postgres95 was on identifying and understanding existing problems in the server code. With PostgreSQL, the emphasis has shifted to augmenting features and capabilities, although work continues in all areas.

Details about what has happened in PostgreSQL since then can be found in Appendix E.

本文章首发在 LearnKu.com 网站上。

我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

讨论数量: 0
发起讨论 只看当前版本