PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關系型數據庫管理系統(RDBMS)。PostgreSQL最初設想于1986年,當時被叫做Berkley Postgres Project。該項目一直到1994年都處于演進和修改中,直到開發人員Andrew Yu和Jolly Chen在Postgres中添加了一個SQL(Structured Query Language,結構化查詢語言)翻譯程序,該版本叫做Postgres95,在開放源代碼社區發放。
1996年,再次對Postgres95做了較大的改動,并將其作為PostgresSQL6.0版發布。該版本的Postgres提高了后端的速度,包括增強型SQL92標準以及重要的后端特性(包括子選擇、默認值、約束和觸發器)。
PostgreSQL是一個非常健壯的軟件包,有很多在大型商業RDBMS中所具有的特性,包括事務、子選擇、觸發器、視圖、外鍵引用完整性和復雜鎖定功能。另一方面,PostgreSQL也缺少商業數據庫中某些可用的特性,如用戶定義的類型、繼承性和規則。從用戶的角度來講,PostgreSQL惟一不具備的主要特性就是外部連接,在今后的版本中會將其加入。
PostgreSQL支持標準的SQL語言并加入了很多其他的功能以確保數據能夠安全存儲,根據數據負載能夠靈活擴展。它兼容所有的主流操作系統,除SQL的基本類型外還支持JSON、Key-value等數據類型,在數據一致性、高并發、高可用、數據恢復、數據安全等方面都有極為出色的表現,并且還有很多類似PostGIS這樣的強大插件。PostgreSQL的上述強大特性為其在世界范圍內贏得了很高的贊譽,也成為了很多開發者和機構首選的開源關系數據庫系統。
PostgreSQL提供了兩種可選模式。一種模式保證如果操作系統或硬件崩潰,則數據將保存到磁盤中,這種模式通常比大多數商業數據庫要慢,這是因為它使用了刷新(或同步)方法;另一種模式與第一種不同,它不提供數據保證,但它通常比商業數據庫運行得快。遺憾的是,還沒有一種折中的模式:既提供一定程度的數據安全性,又有較快的執行速度。今后的版本將會提供這種模式。