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