国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

什么是PostgreSQL?

2024-07-21 02:13:50
字體:
來源:轉載
供稿:網友

  postgresql

  postgresql是以加州大學伯克利分校計算機系開發的 postgres,版本 4.2為基礎的對象關系型數據庫管理系統(ordbms)。 postgres 領先的許多概念只是在非常遲的時候才出現在商業數據庫中。

  postgresql 是最初的伯克利的代碼的一個開放源碼的繼承人。

  它支持大部分 sql:2003 標準并且提供了許多其他現代特性:復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本并發控制

  同樣,postgresql 可以用許多方法擴展,比如, 通過增加新的:數據類型、函數、操作符、聚集函數、索引方法、過程語言

  并且,因為許可證的靈活,任何人都可以以任何目的免費使用,修改,和分發 postgresql, 不管是私用,商用,還是學術研究使用。

  postgresql 的歷史簡介

  現在被稱為 postgresql 的對象-關系型數據庫管理系統(有一段時間被稱為 postgres95)是從伯克利寫的 postgres 軟件包發展而來的。經過十幾年的發展, postgresql 是世界上可以獲得的最先進的開放源碼的數據庫系統, 它提供了多版本并行控制,支持幾乎所有 sql 構件(包括子查詢,事務和用戶定 義類型和函數), 并且可以獲得非常廣闊范圍的(開發)語言綁定 (包括 c,c++,java,perl,tcl,和 python)。

  伯克利的 postgres 項目

  michael stonebraker 領導的 postgres 項目是由防務高級研究項目局(darpa), 陸軍研究辦公室(aro),國家科學基金(nsf), 以及 esl, inc 共同贊助的。 postgres 的實現始于 1986 年, 該系統最初的概念詳見 postgres的設計。 最早的數據模型定義見 the postgres data model。 當時的規則系統設計在 postgres 規則系統的設計 里描述. 存儲管理器的理論基礎和體系結構在 postgres存儲系統的設計 里有詳細描述。

|||

最大的網站源碼資源下載站,

  從那以后,postgres 經歷了幾次主要的版本更新。 第一個"演示性"系統在 1987 年便可使用了, 并且在 1988 年的 acm-sigmod 大會上展出。在 1989 年六月發布了版本 1給一些外部的用戶使用。 為了回應用戶對第一個規則系統的批評,作者重新設計了規則系統,并在1990年6月發布了使用新規則系統的版本 2。 版本 3 在1991年出現, 增加了多存儲管理器的支持, 并且改進了查 詢執行器, 重新編寫了規則系統。 從那以后,隨后的版本直到 postgres95 發布前工作都集中在移植性和可靠性上。

  postgres 已經在許多研究或實際的應用中得到了應用。 這些應用包括: 一個財務數據分析系統,一個噴氣引擎性能監控軟件包,一個小行星跟蹤數據庫, 一個醫療信息數據庫和一些地理信息系統。 postgres 還被許多大學用于教學用途。 最后, illustra information technologies illustra information technologies (后來并入 informix) 后者現在屬于 ibm) 拿到代碼并使之商業化。在 1992 年末 postgres 成為 sequoia 2000 科學計算計劃的首要數據管理器。

  到了 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 取代(在 server 端實現)。在 postgresql 之前還不支持子查詢)(但這個功能可以在 postgres95 里面由用戶定義的 sql 函數實現)。重新實現了聚集。同時還增加了對 group by 查詢子句的支持。 c 程序仍可以調用 libpq接口函數。

  新增加了利用 gnu readline 進行交互 sql 查詢(psql)。 這個程序很大程度上取代了老的 monitor 程序。

  增加了新的前端庫, libpgtcl, 用以支持以 tcl為基礎的客戶端。一個樣本 shell, pgtclsh,提供了新的 tcl 命令用于 tcl 程序和 postgres95 后端之間的交互。

  徹底重寫了大對象的接口。 保留了將大對象倒轉(inversion )作為存儲大對象的唯一機制。 (去掉了倒轉(inversion )文件系統。)

  去掉了記錄級(instance-level )的規則系統。 但我們仍然可以通過重寫規則使用規則。

  在發布的源碼中增加了一個簡短的常用 sql 和 postgres95 特有的 sql 特性的教程。

  用gnu make (取代了 bsd make)用于制作。 postgres95 可以使用不加補丁的 gcc (修正了偶數字節數據( doubles )的對齊問題)。

  postgresql

  到了 1996 年, 我們很明顯的看出"postgres95"這個名字已經不能經得起時間 的考驗了。于是我們起了一個新名字 postgresql 用于反映最初的 postgres 和最新的使用 sql 的版本之間的關系。 同時版本號也 重新從 6.0 開始, 將版本號放回到最初的由 伯克利 postgres 項目開始的順序中。

  postgres95 版本的開發重點放在標明和理解現有的后端代碼的問題上。 postgresql 開發重點轉到了 一些有爭議的特性和功能上面,當然各個方面的工作同時都在進行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿鹿县| 荔波县| 闻喜县| 常山县| 上犹县| 建宁县| 合山市| 楚雄市| 凉山| 兰西县| 潢川县| 西乌珠穆沁旗| 大丰市| 万荣县| 榆中县| 独山县| 泗阳县| 郴州市| 郁南县| 得荣县| 偏关县| 聂拉木县| 合山市| 如东县| 花垣县| 搜索| 周至县| 三原县| 江口县| 临沧市| 灵石县| 怀柔区| 寿阳县| 石棉县| 武邑县| 丽江市| 平遥县| 德安县| 仁化县| 滨海县| 六安市|