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