PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。PostgreSQL最初設(shè)想于1986年,當時被叫做Berkley Postgres Project。該項目一直到1994年都處于演進和修改中,直到開發(fā)人員Andrew Yu和Jolly Chen在Postgres中添加了一個SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)翻譯程序,該版本叫做Postgres95,在開放源代碼社區(qū)發(fā)放。
1996年,再次對Postgres95做了較大的改動,并將其作為PostgresSQL6.0版發(fā)布。該版本的Postgres提高了后端的速度,包括增強型SQL92標準以及重要的后端特性(包括子選擇、默認值、約束和觸發(fā)器)。
PostgreSQL是一個非常健壯的軟件包,有很多在大型商業(yè)RDBMS中所具有的特性,包括事務、子選擇、觸發(fā)器、視圖、外鍵引用完整性和復雜鎖定功能。另一方面,PostgreSQL也缺少商業(yè)數(shù)據(jù)庫中某些可用的特性,如用戶定義的類型、繼承性和規(guī)則。從用戶的角度來講,PostgreSQL惟一不具備的主要特性就是外部連接,在今后的版本中會將其加入。
PostgreSQL提供了兩種可選模式。一種模式保證如果操作系統(tǒng)或硬件崩潰,則數(shù)據(jù)將保存到磁盤中,這種模式通常比大多數(shù)商業(yè)數(shù)據(jù)庫要慢,這是因為它使用了刷新(或同步)方法;另一種模式與第一種不同,它不提供數(shù)據(jù)保證,但它通常比商業(yè)數(shù)據(jù)庫運行得快。遺憾的是,還沒有一種折中的模式:既提供一定程度的數(shù)據(jù)安全性,又有較快的執(zhí)行速度。今后的版本將會提供這種模式。