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