gooderp18绿色标准版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
12KB

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>2. A Brief History of PostgreSQL</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="intro-whatis.html" title="1.  What Is PostgreSQL?" /><link rel="next" href="notation.html" title="3. Conventions" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">2. A Brief History of <span xmlns="http://www.w3.org/1999/xhtml" class="productname">PostgreSQL</span></th></tr><tr><td width="10%" align="left"><a accesskey="p" href="intro-whatis.html" title="1.  What Is PostgreSQL?">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="preface.html" title="Preface">Up</a></td><th width="60%" align="center">Preface</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 12.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="notation.html" title="3. Conventions">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="HISTORY"><div class="titlepage"><div><div><h2 class="title" style="clear: both">2. A Brief History of <span class="productname">PostgreSQL</span></h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="history.html#HISTORY-BERKELEY">2.1. The Berkeley <span class="productname">POSTGRES</span> Project</a></span></dt><dt><span class="sect2"><a href="history.html#HISTORY-POSTGRES95">2.2. <span class="productname">Postgres95</span></a></span></dt><dt><span class="sect2"><a href="history.html#id-1.3.5.6">2.3. <span class="productname">PostgreSQL</span></a></span></dt></dl></div><a id="id-1.3.5.2" class="indexterm"></a><p>
  3. The object-relational database management system now known as
  4. <span class="productname">PostgreSQL</span> is derived from the
  5. <span class="productname">POSTGRES</span> package written at the
  6. University of California at Berkeley. With over two decades of
  7. development behind it, <span class="productname">PostgreSQL</span> is now
  8. the most advanced open-source database available anywhere.
  9. </p><div class="sect2" id="HISTORY-BERKELEY"><div class="titlepage"><div><div><h3 class="title">2.1. The Berkeley <span class="productname">POSTGRES</span> Project</h3></div></div></div><a id="id-1.3.5.4.2" class="indexterm"></a><p>
  10. The <span class="productname">POSTGRES</span> project, led by Professor
  11. Michael Stonebraker, was sponsored by the Defense Advanced Research
  12. Projects Agency (<acronym class="acronym">DARPA</acronym>), the Army Research
  13. Office (<acronym class="acronym">ARO</acronym>), the National Science Foundation
  14. (<acronym class="acronym">NSF</acronym>), and ESL, Inc. The implementation of
  15. <span class="productname">POSTGRES</span> began in 1986. The initial
  16. concepts for the system were presented in <a class="xref" href="biblio.html#STON86">[ston86]</a>,
  17. and the definition of the initial data model appeared in <a class="xref" href="biblio.html#ROWE87">[rowe87]</a>. The design of the rule system at that time was
  18. described in <a class="xref" href="biblio.html#STON87A">[ston87a]</a>. The rationale and
  19. architecture of the storage manager were detailed in <a class="xref" href="biblio.html#STON87B">[ston87b]</a>.
  20. </p><p>
  21. <span class="productname">POSTGRES</span> has undergone several major
  22. releases since then. The first <span class="quote">“<span class="quote">demoware</span>”</span> system
  23. became operational in 1987 and was shown at the 1988
  24. <acronym class="acronym">ACM-SIGMOD</acronym> Conference. Version 1, described in
  25. <a class="xref" href="biblio.html#STON90A">[ston90a]</a>, was released to a few external users in
  26. June 1989. In response to a critique of the first rule system
  27. (<a class="xref" href="biblio.html#STON89">[ston89]</a>), the rule system was redesigned (<a class="xref" href="biblio.html#STON90B">[ston90b]</a>), and Version 2 was released in June 1990 with
  28. the new rule system. Version 3 appeared in 1991 and added support
  29. for multiple storage managers, an improved query executor, and a
  30. rewritten rule system. For the most part, subsequent releases
  31. until <span class="productname">Postgres95</span> (see below) focused on
  32. portability and reliability.
  33. </p><p>
  34. <span class="productname">POSTGRES</span> has been used to implement many
  35. different research and production applications. These include: a
  36. financial data analysis system, a jet engine performance monitoring
  37. package, an asteroid tracking database, a medical information
  38. database, and several geographic information systems.
  39. <span class="productname">POSTGRES</span> has also been used as an
  40. educational tool at several universities. Finally, Illustra
  41. Information Technologies (later merged into
  42. <a class="ulink" href="https://www.ibm.com/analytics/informix" target="_top"><span class="productname">Informix</span></a>,
  43. which is now owned by <a class="ulink" href="https://www.ibm.com/" target="_top">IBM</a>) picked up the code and
  44. commercialized it. In late 1992,
  45. <span class="productname">POSTGRES</span> became the primary data manager
  46. for the
  47. <a class="ulink" href="http://meteora.ucsd.edu/s2k/s2k_home.html" target="_top">
  48. Sequoia 2000 scientific computing project</a>.
  49. </p><p>
  50. The size of the external user community nearly doubled during 1993.
  51. It became increasingly obvious that maintenance of the prototype
  52. code and support was taking up large amounts of time that should
  53. have been devoted to database research. In an effort to reduce
  54. this support burden, the Berkeley
  55. <span class="productname">POSTGRES</span> project officially ended with
  56. Version 4.2.
  57. </p></div><div class="sect2" id="HISTORY-POSTGRES95"><div class="titlepage"><div><div><h3 class="title">2.2. <span class="productname">Postgres95</span></h3></div></div></div><a id="id-1.3.5.5.2" class="indexterm"></a><p>
  58. In 1994, Andrew Yu and Jolly Chen added an SQL language interpreter
  59. to <span class="productname">POSTGRES</span>. Under a new name,
  60. <span class="productname">Postgres95</span> was subsequently released to
  61. the web to find its own way in the world as an open-source
  62. descendant of the original <span class="productname">POSTGRES</span>
  63. Berkeley code.
  64. </p><p>
  65. <span class="productname">Postgres95</span> code was completely ANSI C
  66. and trimmed in size by 25%. Many internal changes improved
  67. performance and
  68. maintainability. <span class="productname">Postgres95</span> release
  69. 1.0.x ran about 30-50% faster on the Wisconsin Benchmark compared
  70. to <span class="productname">POSTGRES</span>, Version 4.2. Apart from
  71. bug fixes, the following were the major enhancements:
  72. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
  73. The query language PostQUEL was replaced with
  74. <acronym class="acronym">SQL</acronym> (implemented in the server). (Interface
  75. library <a class="link" href="libpq.html" title="Chapter 33. libpq - C Library">libpq</a> was named after PostQUEL.)
  76. Subqueries
  77. were not supported until <span class="productname">PostgreSQL</span>
  78. (see below), but they could be imitated in
  79. <span class="productname">Postgres95</span> with user-defined
  80. <acronym class="acronym">SQL</acronym> functions. Aggregate functions were
  81. re-implemented. Support for the <code class="literal">GROUP BY</code>
  82. query clause was also added.
  83. </p></li><li class="listitem"><p>
  84. A new program
  85. (<span class="application">psql</span>) was provided for interactive
  86. SQL queries, which used <acronym class="acronym">GNU</acronym>
  87. <span class="application">Readline</span>. This largely superseded
  88. the old <span class="application">monitor</span> program.
  89. </p></li><li class="listitem"><p>
  90. A new front-end library, <code class="filename">libpgtcl</code>,
  91. supported <acronym class="acronym">Tcl</acronym>-based clients. A sample shell,
  92. <code class="command">pgtclsh</code>, provided new Tcl commands to
  93. interface <span class="application">Tcl</span> programs with the
  94. <span class="productname">Postgres95</span> server.
  95. </p></li><li class="listitem"><p>
  96. The large-object interface was overhauled. The inversion large
  97. objects were the only mechanism for storing large objects. (The
  98. inversion file system was removed.)
  99. </p></li><li class="listitem"><p>
  100. The instance-level rule system was removed. Rules were still
  101. available as rewrite rules.
  102. </p></li><li class="listitem"><p>
  103. A short tutorial introducing regular <acronym class="acronym">SQL</acronym>
  104. features as well as those of
  105. <span class="productname">Postgres95</span> was distributed with the
  106. source code
  107. </p></li><li class="listitem"><p>
  108. <acronym class="acronym">GNU</acronym> make (instead of <acronym class="acronym">BSD</acronym>
  109. make) was used for the build. Also,
  110. <span class="productname">Postgres95</span> could be compiled with an
  111. unpatched <span class="productname">GCC</span> (data alignment of
  112. doubles was fixed).
  113. </p></li></ul></div><p>
  114. </p></div><div class="sect2" id="id-1.3.5.6"><div class="titlepage"><div><div><h3 class="title">2.3. <span class="productname">PostgreSQL</span></h3></div></div></div><p>
  115. By 1996, it became clear that the name <span class="quote">“<span class="quote">Postgres95</span>”</span>
  116. would not stand the test of time. We chose a new name,
  117. <span class="productname">PostgreSQL</span>, to reflect the relationship
  118. between the original <span class="productname">POSTGRES</span> and the
  119. more recent versions with <acronym class="acronym">SQL</acronym> capability. At
  120. the same time, we set the version numbering to start at 6.0,
  121. putting the numbers back into the sequence originally begun by the
  122. Berkeley <span class="productname">POSTGRES</span> project.
  123. </p><p>
  124. Many people continue to refer to
  125. <span class="productname">PostgreSQL</span> as <span class="quote">“<span class="quote">Postgres</span>”</span>
  126. (now rarely in all capital letters) because of tradition or because
  127. it is easier to pronounce. This usage is widely accepted as a
  128. nickname or alias.
  129. </p><p>
  130. The emphasis during development of
  131. <span class="productname">Postgres95</span> was on identifying and
  132. understanding existing problems in the server code. With
  133. <span class="productname">PostgreSQL</span>, the emphasis has shifted to
  134. augmenting features and capabilities, although work continues in
  135. all areas.
  136. </p><p>
  137. Details about what has happened in <span class="productname">PostgreSQL</span> since
  138. then can be found in <a class="xref" href="release.html" title="Appendix E. Release Notes">Appendix E</a>.
  139. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="intro-whatis.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="preface.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="notation.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.  What Is <span class="productname">PostgreSQL</span>? </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 3. Conventions</td></tr></table></div></body></html>
上海开阖软件有限公司 沪ICP备12045867号-1