基本瞭解:數據庫
PostgreSQL:是以加州大學伯克利分校計算機系開發的 POSTGRES,如今已經改名爲PostgreSQL,版本 4.2爲基礎的對象關係型數據庫管理系統(ORDBMS)。PostgreSQL支持大部分 SQL標準而且提供了許多其餘現代特性:複雜查詢、外鍵、觸發器、視圖、事務完整性、MVCC。一樣,PostgreSQL 能夠用許多方法擴展,好比, 經過增長新的數據類型、函數、操做符、彙集函數、索引。無償使用、修改、和分發 PostgreSQL,不論是私用、商用、仍是學術研究使用。服務器
特色與優點:架構
PostgreSQL 是一個自由的對象-關係數據庫服務器(數據庫管理系統),它在靈活的 BSD-風格許可證下發行。它提供了相對其餘開放源代碼數據庫系統(好比 MySQL 和 Firebird),和專有系統(好比 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)以外的另外一種選擇。
PostgreSQL 不尋常的名字致使一些讀者停下來嘗試拼讀它,特別是那些把SQL拼讀爲"sequel"的人。PostgreSQL 開發者把它拼讀爲 "post-gress-Q-L"。它也常常被簡略念爲 "postgres"。
事實上, PostgreSQL 的特性覆蓋了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了能夠說是目前世界上最豐富的數據類型的支持,其中有些數據類型能夠說連商業數據庫都不具有, 好比 IP 類型和幾何類型等;其次,PostgreSQL 是全功能的自由軟件數據庫,很長時間以來,PostgreSQL 是惟一支持事務、子查詢、多版本並行控制系統(MVCC)、數據完整性檢查等特性的惟一的一種自由軟件的數據庫管理系統。 Inprise 的 InterBase 以及SAP等廠商將其原先專有軟件開放爲自由軟件以後纔打破了這個惟一。最後,PostgreSQL擁有一支很是活躍的開發隊伍,並且在許多黑客的努力下,PostgreSQL 的質量日益提升。函數
從技術角度來說,PostgreSQL 採用的是比較經典的C/S(client/server)結構,也就是一個客戶端對應一個服務器端守護進程的模式,這個守護進程分析客戶端來的查詢請求,生成規劃樹,進行數據檢索並最終把結果格式化輸出後返回給客戶端。爲了便於客戶端的程序的編寫,由數據庫服務器提供了統一的客戶端 C 接口。而不一樣的客戶端接口都是源自這個 C 接口,好比ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同時也要指出的是,PostgreSQL 對接口的支持也是很是豐富的,幾乎支持全部類型的數據庫客戶端接口。這一點也能夠說是 PostgreSQL 一大優勢。post
架構:學習
PostgreSQL強壯的一個緣由源於它的架構。和商業數據庫同樣,PostgreSQL能夠用於C/S(客戶/服務器)環境。這對於用戶和開發人員有不少好處。網站
PostgreSQL安裝核心是數據庫服務端進程。它容許在一個獨立服務器上。須要訪問存儲在數據庫中的數據的應用程序必須經過數據庫進程。這些客戶端程序沒法直接訪問數據,即便它們和服務程序在同一臺機器上。阿里雲
教學課程:PostgreSQL數據庫學習入門課程開放源代碼
(講師:周正中(德哥),PostgreSQL中國用戶會創始人之一,阿里雲高級技術專家)server
更多精品課程:
阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場)