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