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.
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 [ston86], and the definition of the initial data model appeared in [rowe87]. The design of the rule system at that time was described in [ston87a]. The rationale and architecture of the storage manager were detailed in [ston87b].
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 [ston90a], was released to a few external users in June 1989. In response to a critique of the first rule system ([ston89]), the rule system was redesigned ([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 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 described in [ston92].
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.
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).
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.
Postgres is still considered an official project name, both because of tradition and because people find it easier to pronounce Postgres than 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.
Details about what has happened in PostgreSQL since then can be found in Appendix E.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.
父亲节送什么 | 多元是什么意思 | 清酒和白酒有什么区别 | 什么是窦性心律 | 肺部阴影意味着什么 |
胡桃木色是什么颜色 | 检查肠道挂什么科 | 西太后手表什么档次 | 吹空调嗓子疼吃什么药 | 溯溪是什么意思 |
吃维生素b6有什么好处和副作用 | 暗是什么生肖 | 一级警长是什么级别 | 致电是什么意思 | 政协主席什么级别 |
酸根是什么 | 梦见着火是什么意思 | 蟋蟀长什么样 | 什么家庭不宜挂八骏图 | 地下党是什么意思 |
后背出汗什么原因hcv9jop5ns4r.cn | 牛子是什么hcv9jop6ns9r.cn | 怀孕天数从什么时候算起hcv7jop9ns5r.cn | 威五行属什么hcv9jop5ns6r.cn | 蛇什么时候出来活动hcv9jop0ns4r.cn |
射手座跟什么星座最配hcv9jop3ns8r.cn | 何首乌是什么mmeoe.com | 中将是什么级别的干部hcv9jop1ns8r.cn | 六味地黄丸的功效是什么hcv9jop6ns0r.cn | 虫草有什么作用与功效hcv8jop2ns6r.cn |
胃炎吃什么中药效果好hcv9jop4ns6r.cn | 黄瓜炒什么hcv9jop1ns0r.cn | 鱼子酱是什么鱼hcv9jop1ns6r.cn | 血压低有什么危害hcv8jop5ns8r.cn | 欢乐海岸有什么好玩的hcv8jop8ns8r.cn |
捡肥皂什么意思hcv8jop1ns5r.cn | 心心相印是什么生肖sscsqa.com | 我行我素的人什么性格hcv7jop5ns5r.cn | 老白茶是什么茶hcv8jop0ns6r.cn | vos是什么意思hcv9jop4ns3r.cn |