Postgresql 中文操作指南

2. A Brief History of PostgreSQL #

现在称为 PostgreSQL 的对象关系数据库管理系统源自加州大学伯克利分校编写的 POSTGRES 程序包。经过数十年的开发,PostgreSQL 现已成为世界上最先进的开源数据库。

The object-relational database management system now known as PostgreSQL is derived from the POSTGRES package written at the University of California at Berkeley. With decades of development behind it, PostgreSQL is now the most advanced open-source database available anywhere.

2.1. The Berkeley POSTGRES Project #

POSTGRES 项目由迈克尔·斯通布雷克教授领导,由国防高级研究计划局 (DARPA)、陆军研究办公室 (ARO)、国家科学基金会 (NSF) 和 ESL 公司赞助。POSTGRES 的实施始于 1986 年。该系统最初的概念在 [id="ston86",role="bare"]biblio.html#STON86[id="ston86"]中提出,初始数据模型的定义出现在 [id="rowe87",role="bare"]biblio.html#ROWE87[id="rowe87"]中。当时规则系统的设计在 [id="ston87a",role="bare"]biblio.html#STON87A[id="ston87a"]中进行了描述。存储管理器的原理和架构在 [id="ston87b",role="bare"]biblio.html#STON87B[id="ston87b"]中进行了详细说明。

The POSTGRES project, led by Professor Michael Stonebraker, was sponsored by the Defense Advanced Research Projects Agency (DARPA), the Army Research Office (ARO), the National Science Foundation (NSF), and ESL, Inc. The implementation of POSTGRES began in 1986. The initial concepts for the system were presented in biblio.html#STON86, and the definition of the initial data model appeared in biblio.html#ROWE87. The design of the rule system at that time was described in biblio.html#STON87A. The rationale and architecture of the storage manager were detailed in biblio.html#STON87B.

从那时起,POSTGRES 经历了几次重大发行。第一个“演示软件”系统在 1987 年开始运行,并在 1988 年的 ACM-SIGMOD 会议上展示。第 1 版在 [id="ston90a",role="bare"]biblio.html#STON90A[id="ston90a"]中进行了描述,于 1989 年 6 月发布给少数外部用户。针对第一规则系统的批评([id="ston89",role="bare"]biblio.html#STON89[id="ston89"]),对规则系统进行了重新设计([id="ston90b",role="bare"]biblio.html#STON90B[id="ston90b"]),并于 1990 年 6 月发布了 2 版,其中包含新的规则系统。第 3 版于 1991 年出现,并增加了对多个存储管理器的支持、一个改进的查询执行器和一个重写的规则系统。在很大程度上,直到 Postgres95(见下文)的后续发行都致力于可移植性和可靠性。

POSTGRES has undergone several major releases since then. The first “demoware” system became operational in 1987 and was shown at the 1988 ACM-SIGMOD Conference. Version 1, described in biblio.html#STON90A, was released to a few external users in June 1989. In response to a critique of the first rule system (biblio.html#STON89), the rule system was redesigned (biblio.html#STON90B), and Version 2 was released in June 1990 with the new rule system. Version 3 appeared in 1991 and added support for multiple storage managers, an improved query executor, and a rewritten rule system. For the most part, subsequent releases until Postgres95 (see below) focused on portability and reliability.

POSTGRES 已用于实现许多不同的研究和生产应用程序。其中包括:金融数据分析系统、喷气发动机性能监控包、小行星跟踪数据库、医疗信息数据库以及几个地理信息系统。POSTGRES 也已被用作多个大学的教育工具。最后,Illustra Information Technologies(后来合并到 Informix 中,现在归 IBM 所有)选用了该代码并将其商业化。1992 年末,POSTGRES 成为 Sequoia 2000 scientific computing project 的主要数据管理器。

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.

在 1993 年期间,外部用户群体的规模几乎增加了一倍。维护原型代码和支持占用了大量本应用于数据库研究的时间,这一点变得越来越明显。为了减轻这种支持负担,伯克利 POSTGRES 项目已正式结束,版本为 4.2。

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 #

1994 年,Andrew Yu 和 Jolly Chen 为 POSTGRES 增加了一个 SQL 语言解释器。在新的名称下,Postgres95 随后发布到 Web 上,以作为原始 POSTGRES Berkeley 代码的开源后代在世界上找到自己的道路。

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 代码完全是 ANSI C,并且大小减少了 25%。许多内部更改提高了性能和可维护性。与 POSTGRES 第 4.2 版相比,Postgres95 1.0.x 版本在 Wisconsin Benchmark 上运行速度提高了约 30-50%。除了错误修复之外,以下是一些主要增强功能:

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:

2.3. PostgreSQL #

到 1996 年,很明显“Postgres95”这个名字经不起时间的考验。我们选择了一个新名称 PostgreSQL,以反映原始 POSTGRES 及具有 SQL 功能的最新版本之间的关系。与此同时,我们将版本编号设置为从 6.0 开始,将数字放回到最初由 Berkeley POSTGRES 项目开始的序列中。

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.

许多人仍然出于传统或发音更容易而将 PostgreSQL 称为“Postgres”(现在很少全部大写)。这种用法被广泛接受为昵称或别名。

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.

Postgres95 开发过程中的重点是识别并理解服务器代码中存在的问题。通过 PostgreSQL,重点已转移到增强功能,尽管各方面的工作仍在继续。

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.

有關自那時以來 PostgreSQL 中發生的事情的詳情,請參閱 Appendix E

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