*** doc/src/sgml/history.sgml Sun Jun 20 21:53:53 1999 --- doc/src/sgml/history.sgml.new Sun Jun 20 21:58:24 1999 *************** *** 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,44 **** 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. --- 49,56 ---- 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 until Postgres95 (see below) ! focused on portability and reliability. *************** *** 70,76 **** ended with Version 4.2. ! <ProductName>Postgres95</ProductName> --- 82,88 ---- ended with Version 4.2. ! <ProductName>Postgres95</ProductName> *************** *** 79,155 **** 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. ! 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: ! 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 programs. ! In addition to the monitor program, we provide a new ! program (psql) which supports 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 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 instance-level rule system has been removed. ! Rules are still available as rewrite rules. A short tutorial introducing regular SQL features as ! well as those of ours is 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). --- 91,165 ---- Andrew Yu and Jolly Chen ! 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 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 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, a new program ! (psql) was provided for interactive SQL queries ! using GNU readline. ! 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 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). *************** *** 160,193 **** <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. ! 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 work continues in all areas. ! Major enhancements include: Important backend features, including subselects, defaults, --- 170,206 ---- <ProductName>PostgreSQL</ProductName> ! 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 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 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,