<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # PostgreSQL簡史 現在被稱為PostgreSQL的對象-關系型數據庫管理系統是從美國加州大學伯克利 分校編寫的POSTGRES軟件包發展而來的。經過二十幾年的發展,PostgreSQL 是目前世界上可以獲得的最先進的開放源碼數據庫系統。 ## Berkeley 的POSTGRES項目 Michael Stonebraker領導的POSTGRES項目 是由防務高級研究項目局(DARPA)、陸軍研究辦公室(ARO)、國家科學基金 (NSF)、ESL公司共同贊助的。POSTGRES的實現始于1986年,該系統最初的 概念詳見[](#calibre_link-1312) [POSTGRES的設計](http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf) ,最早的數據模型定義見 [](#calibre_link-1313)[POSTGRES數據模型](http://db.cs.berkeley.edu/papers/ERL-M87-13.pdf) 。當時的規則系統設計在[_POSTGRES規則系統的設計_](#calibre_link-1314) 里描述。存儲管理器的理論基礎和體系結構在 [](#calibre_link-1315)[POSTGRES存儲系統設計](http://db.cs.berkeley.edu/papers/ERL-M87-06.pdf) 里有詳細描述。 從那以后,POSTGRES經歷了幾次主要的 版本更新。第一個"演示性"系統在1987年便可使用了, 并且在1988年的ACM-SIGMOD大會上展出。在1989年 6月發布了版本1(在[](#calibre_link-1316) [POSTGRES的實現](http://db.cs.berkeley.edu/papers/ERL-M90-34.pdf) 里有描述)給一些外部的用 戶使用。為了回應用戶對第一個規則系統的批評 ([](#calibre_link-1317) [POSTGRES規則系統注解](http://db.cs.berkeley.edu/papers/ERL-M89-82.pdf) ),我們重新設計了規則系統 ([](#calibre_link-1318) [數據庫系統中的規則,過程,緩存和視圖](http://db.cs.berkeley.edu/papers/ERL-M90-36.pdf) ),并在1990年6月發布了使用新規則系統的 版本2。版本3在1991年出現,增加了多存儲管理器的支持,并且改進了 查詢執行器,重新編寫了規則系統。從那以后,隨后的版本直到 Postgres95發布前(見下文),工作都集中 在移植性和可靠性上。 POSTGRES已經在許多研究或實際的應用中 得到了應用。這些應用包括:一個財務數據分析系統、一個噴氣引擎 性能監控軟件包、一個小行星跟蹤數據庫、一個醫療信息數據庫和一些 地理信息系統。POSTGRES還被許多大學用 于教學用途。最后,Illustra Information Technologies(后來并入 [Informix ](http://www.informix.com/),而它現在屬于 [IBM](http://www.ibm.com/))拿到代碼并使之 商業化。在1992年末POSTGRES成為 [Sequoia 2000 scientific computing project](http://meteora.ucsd.edu/s2k/s2k_home.html)的首要數據管理器。 到了1993年,外部用戶的數量幾乎翻番。隨著用戶的增加,用于源代 碼維護的時間日益增加,以至占用了太多本應該用于數據庫研究的時 間,為了減少支持的負擔,伯克利的POSTGRES 項目在版本4.2時正式終止。 ## Postgres95 1994年,Andrew Yu和Jolly Chen向POSTGRES 中增加了SQL語言的解釋器,并隨后將Postgres95 的源代碼發布到互聯網上供大家使用,從而成為一個開放 源碼的原伯克利POSTGRES的繼承者。 Postgres95所有源代碼都是完全的ANSI C, 而且代碼量減少了25%,并且有許多內部修改以利于提高性能和代碼的 可維護性。Postgres95版本1.0.x在進行 Wisconsin Benchmark測試時大概比POSTGRES v4.2快 30%-50%。除了修正了一些錯誤,下面的是一些主要改進: * 原來的查詢語言PostQUEL被SQL取代(在服務器端實現)。 (接口庫[libpq](#calibre_link-496)是以PostQUEL來命名的。) 在PostgreSQL之前還不支持子查詢(見下文),但 這個功能可以在Postgres95里面由用戶定義的 SQL函數實現,重新實現了聚集,同時還增加了對 `GROUP BY`查詢子句的支持。 * 新增加了利用GNU Readline進 行交互SQL查詢的程序(psql)。這個程序很大程度上取代了 老的monitor程序。 * 增加了新的前端庫(`libpgtcl`),用以支持 以Tcl為基礎的客戶端。一個樣本shell (`pgtclsh`),提供了新的Tcl命令用于 Tcl程序和Postgres95 后端之間的交互。 * 徹底重寫了大對象的接口,將大對象倒轉(inversion)作為存儲大對象 的唯一機制(去掉了倒轉(inversion)文件系統)。 * 去掉了實例級的規則系統,但我們仍然可以通過重寫規則來使用規則。 * 在發布的源碼中增加了一個簡短的常用SQL和 Postgres95特有的SQL特性的教程。 * 用GNU make取代了BSD make用于編譯。 Postgres95可以使用不加補丁的 GCC進行編譯(修正了偶數字節數據的對齊問題)。 ## PostgreSQL 到了1996年,我們很明顯的看出"Postgres95"這個名字已經經不起 時間的考驗了。于是我們起了一個新名字PostgreSQL 用于反映最初的POSTGRES和最新的使用SQL的版本之間的關系。同時版本號也重新從6.0開始,將版本號放回到最 初的由伯克利POSTGRES項目開始的順序中。 許多人出于習慣或者發音簡單的原因,將PostgreSQL 稱為"Postgres"(現在很少全部用大寫字母),這種稱法被當做綽號或者別名而廣泛接受。 Postgres95版本的開發重點放在識別和理解服務器端 代碼中已有的問題上。PostgreSQL開發重點轉到了一些 有爭議的特性和功能上面,當然各個方面的工作同時都在進行。 自那以來,PostgreSQL發生的變化可以在[Appendix E](#calibre_link-32)里面找到。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看