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