PostgreSQL是一種特性非常齊全的自由軟件的對象-關系型數據庫管理系統(ORDBMS),是以加州大學計算機系開發的POSTGRES 4.2版本為基礎的對象關系型數據庫管理系統
PostgreSQL是一個功能非常(chang)強大的(de)、源代(dai)碼(ma)開(kai)放(fang)的(de)客戶/服(fu)務器關系型數據(ju)庫管(guan)理系統(RDBMS)。PostgreSQL最初(chu)設想于(yu)1986年(nian),當時被叫做Berkley Postgres Project。該(gai)項目(mu)一直到(dao)1994年(nian)都處(chu)于(yu)演(yan)進和修(xiu)改中,直到(dao)開(kai)發(fa)(fa)人員Andrew Yu和Jolly Chen在Postgres中添加(jia)了一個SQL(Structured Query Language,結構化(hua)查詢語言)翻(fan)譯程序,該(gai)版本叫做Postgres95,在開(kai)放(fang)源代(dai)碼(ma)社區發(fa)(fa)放(fang)。
1996年,再次(ci)對Postgres95做了較(jiao)大的改(gai)動,并將其作為PostgresSQL6.0版發(fa)(fa)布。該(gai)版本的Postgres提高(gao)了后(hou)端的速度(du),包括增強型SQL92標準以及重要(yao)的后(hou)端特(te)性(包括子選擇、默認(ren)值、約束和觸發(fa)(fa)器)。
PostgreSQL是一個非(fei)常健壯的(de)軟(ruan)件包,有(you)很多在大(da)型商業(ye)RDBMS中所具(ju)有(you)的(de)特(te)(te)性(xing),包括事務、子(zi)選擇、觸發器、視圖(tu)、外(wai)(wai)鍵引用(yong)(yong)完整(zheng)性(xing)和復雜鎖定功能。另一方面,PostgreSQL也缺(que)少商業(ye)數據庫中某些可用(yong)(yong)的(de)特(te)(te)性(xing),如用(yong)(yong)戶(hu)定義的(de)類型、繼(ji)承性(xing)和規則。從(cong)用(yong)(yong)戶(hu)的(de)角度來(lai)講,PostgreSQL惟一不具(ju)備的(de)主要(yao)特(te)(te)性(xing)就是外(wai)(wai)部連接,在今后的(de)版本中會(hui)將其加入。
PostgreSQL提(ti)(ti)供了兩(liang)種(zhong)(zhong)(zhong)可選模(mo)(mo)(mo)式(shi)(shi)。一(yi)(yi)(yi)種(zhong)(zhong)(zhong)模(mo)(mo)(mo)式(shi)(shi)保(bao)證(zheng)如果操(cao)作系統或硬件崩潰,則數(shu)據(ju)將(jiang)保(bao)存到磁盤中,這種(zhong)(zhong)(zhong)模(mo)(mo)(mo)式(shi)(shi)通(tong)常(chang)(chang)比大多數(shu)商業(ye)數(shu)據(ju)庫要慢(man),這是(shi)因為它(ta)使用(yong)了刷新(或同(tong)步)方法(fa);另一(yi)(yi)(yi)種(zhong)(zhong)(zhong)模(mo)(mo)(mo)式(shi)(shi)與(yu)第一(yi)(yi)(yi)種(zhong)(zhong)(zhong)不(bu)同(tong),它(ta)不(bu)提(ti)(ti)供數(shu)據(ju)保(bao)證(zheng),但它(ta)通(tong)常(chang)(chang)比商業(ye)數(shu)據(ju)庫運行(xing)得快。遺憾的(de)(de)是(shi),還(huan)沒有(you)一(yi)(yi)(yi)種(zhong)(zhong)(zhong)折(zhe)中的(de)(de)模(mo)(mo)(mo)式(shi)(shi):既提(ti)(ti)供一(yi)(yi)(yi)定程度的(de)(de)數(shu)據(ju)安全性,又有(you)較快的(de)(de)執行(xing)速度。今后的(de)(de)版本(ben)將(jiang)會提(ti)(ti)供這種(zhong)(zhong)(zhong)模(mo)(mo)(mo)式(shi)(shi)。