From 8baa8fcf4684a475a6bdbf70d5536cc5dc7936df Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 21 Jun 1999 15:12:19 +0000 Subject: [PATCH] Some suggestions to clarify the current status of PostgreSQL. Patch attached. Fred Horch --- doc/src/sgml/history.sgml | 129 +++++++++++++++++++++++++--------------------- 1 file changed, 71 insertions(+), 58 deletions(-) diff --git a/doc/src/sgml/history.sgml b/doc/src/sgml/history.sgml index 882b8afccf..506b7227b9 100644 --- a/doc/src/sgml/history.sgml +++ b/doc/src/sgml/history.sgml @@ -1,6 +1,18 @@ A Short History of <ProductName>Postgres</ProductName> + +The Object-Relational Database Management System now known as +PostgreSQL was originally called +Postgres, and briefly called +Postgres95. With over a decade of +development behind it, PostgreSQL +is the most advanced open-source database available anywhere, +offering multi-version concurrency control and supporting almost +all SQL constructs, including subselects, transactions, and +user-defined types and functions. + + The Berkeley <ProductName>Postgres</ProductName> Project @@ -37,8 +49,8 @@ and Version 2 was Version 3 appeared in 1991 and added support for multiple storage managers, an improved query executor, and a rewritten rewrite rule system. For the most part, - releases since then have focused on portability and - reliability. + releases until Postgres95 (see below) + focused on portability and reliability. @@ -70,7 +82,7 @@ and Version 2 was ended with Version 4.2. - + <ProductName>Postgres95</ProductName> @@ -79,77 +91,75 @@ In 1994, Andrew Yu and Jolly Chen -added a SQL language interpreter to Postgres, -and the code was subsequently released to -the Web to find its own way in the world. -Postgres95 was a public-domain, open source descendant -of this original Berkeley code. +added a SQL language interpreter to Postgres. +Postgres95 was subsequently released to +the Web to find its own way in the world as a public-domain, +open source descendant of the original Postgres +Berkeley code. -Postgres95 is a derivative of the last official release -of Postgres (version 4.2). The code is now completely - ANSI C and the code size has been trimmed by 25%. There - are a lot of internal changes that improve performance -and code maintainability. -Postgres95 v1.0.x runs about 30-50% - faster on the Wisconsin Benchmark compared to v4.2. - Apart from bug fixes, these are the major enhancements: + Postgres95 code was completely + ANSI C and trimmed in size by 25%. Many + internal changes improved performance and maintainability. +Postgres95 v1.0.x ran about 30-50% + faster on the Wisconsin Benchmark compared to +Postgres v4.2. + Apart from bug fixes, these were the major enhancements: - The query language Postquel has been replaced with - SQL (implemented in the server). We do not yet support - subqueries (which can be imitated with user defined - SQL functions). Aggregates have been - re-implemented. We also added support for ``GROUP BY''. - The libpq interface is still available for C + The query language Postquel was replaced with + SQL (implemented in the server). Subqueries were not supported until PostgreSQL (see below), but they +could be imitated in Postgres95 with user-defined + SQL functions. Aggregates were + re-implemented. Support for ``GROUP BY'' was also added. + The libpq interface remained available for C programs. - In addition to the monitor program, we provide a new - program (psql) which supports GNU readline. +In addition to the monitor program, a new program +(psql) was provided for interactive SQL queries +using GNU readline. - We added a new front-end library, libpgtcl, that - supports Tcl-based clients. A sample shell, - pgtclsh, provides new Tcl commands to interface tcl + 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 backend. - The large object interface has been overhauled. We - kept Inversion large objects as the only mechanism - for storing large objects. (This is not to be - confused with the Inversion file system which has been - removed.) +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 has been removed. - Rules are still available as rewrite rules. + 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 ours is distributed with the source - code. + well as those of Postgres95 was + distributed with the source code. - GNU make (instead of BSD make) is used for the - build. Also, Postgres95 can be compiled with an - unpatched gcc (data alignment of doubles has been - fixed). +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). @@ -160,36 +170,39 @@ and code maintainability. <ProductName>PostgreSQL</ProductName> -By 1996, it became clear that the name Postgres95 would not stand -the test of time. A new name, PostgreSQL, -was chosen to reflect the -relationship between original Postgres -and the more recent -versions with SQL capability. -At the same time, the version numbering -was reset to start at 6.0, -putting the numbers back into the sequence originally begun by -the Postgres Project. +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 +Postgres Project. -The emphasis on development for the v1.0.x releases of -Postgres95 -was on stabilizing the backend code. -With the v6.x series of PostgreSQL, -the emphasis has shifted from -identifying and understanding existing problems in the backend -to augmenting features and capabilities, although +The emphasis during development of Postgres95 +was on identifying and understanding existing problems in the backend code. +With PostgreSQL, +the emphasis has shifted to augmenting features and capabilities, although work continues in all areas. -Major enhancements include: +Major enhancements in PostgreSQL include: +Table-level locking has been replaced with multi-version concurrency control, +which allows readers to continue reading consistent data during writer activity +and enables hot backups from pg_dump while the database stays available for +queries. + + + + Important backend features, including subselects, defaults, constraints, and triggers, have been implemented. -- 2.11.0