Some suggestions to clarify the current status of PostgreSQL. Patch
authorBruce Momjian
Mon, 21 Jun 1999 15:12:19 +0000 (15:12 +0000)
committerBruce Momjian
Mon, 21 Jun 1999 15:12:19 +0000 (15:12 +0000)
attached.

Fred Horch

doc/src/sgml/history.sgml

index 882b8afccf40372dfa8323c7e0e38cd01611c784..506b7227b99089aea757152808081fff73ccaacc 100644 (file)
@@ -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.