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