基本瞭解:
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 一大優點。
架構
PostgreSQL強壯的一個原因源於它的架構。和商業資料庫一樣,PostgreSQL可以用於C/S(客戶/伺服器)環境。這對於使用者和開發人員有很多好處。
PostgreSQL安裝核心是資料庫服務端程式。它允許在一個獨立伺服器上。需要訪問儲存在資料庫中的資料的應用程式必須通過資料庫程式。這些客戶端程式無法直接訪問資料,即使它們和服務程式在同一臺機器上。
教學課程:PostgreSQL資料庫教學
(講師:周正中(德哥),PostgreSQL中國使用者會創始人之一,阿里雲高階技術專家)
教學大綱
課時1:1 PostgreSQL系統概述與編譯安裝 29:36
課時2:2 PostgreSQL 物理,邏輯,程式結構以及系統表系統函式 80:53
課時3:3 PostgreSQL psql的使用,SQL語法,資料型別,遞迴SQL用法 90:33
課時4:4 PostgreSQL 索引,全文檢索,模糊匹配,近似度匹配 63:08
課時5:5 PostgreSQL 執行計劃,成本公式解說,代價因子校準,自動跟蹤SQL執行計劃 75:37
課時6:6 PostgreSQL 連線池, 本地快取記憶體, 異地快取記憶體 93:38
課時7:7 PostgreSQL 物理備份和還原, 邏輯備份和還原 52:26
課時8:8 PostgreSQL 流複製搭建主從環境,同步和非同步的解釋,壓力測試,主從角色切換 43:43
課時9:9 PostgreSQL 點對點多主表級複製-觸發器篇 64:14
課時10:10 PostgreSQL 表級複製-物化檢視篇,支援異地,異構如Oracle到pg的物化檢視 62:34
課時11:11 PostgreSQL 表級複製-Londiste3安裝以及使用 85:47
課時12:12 PostgreSQL 表級複製-Londiste3一對多的複製以及DDL排錯 38:55
課時13:13 PostgreSQL 表級複製-Londiste3級聯複製以及provider的切換 69:55
課時14:14 PostgreSQL 表級複製-Londiste3雜湊資料分割槽複製 61:53
課時15:15 PostgreSQL 表級複製-Londiste3多節點資料同步合併到單節點 79:19
課時16:16 PostgreSQL 本地分割槽表的用法和優化 36:11
課時17:17 PostgreSQL shared nothing分散式用法講解 98:58
課時18:18 PostgreSQL 事務隔離級別的實現和多版本併發控制 55:58
課時19:19 PostgreSQL 鎖型別,鎖模式,鎖衝突,死鎖檢測的介紹 47:39
課時20:20 PostgreSQL 監控1 統計程式和統計資訊的解讀 74:25
課時21:21 PostgreSQL 監控2 趨勢監控資料收集和分析, nagios實時監控部署和自定義監控 106:05
課時22:22 PostgreSQL 監控3 PostgreSQL效能快照和圖形化分析工具pg_statsinfo的使用 51:18
課時23:23 PostgreSQL 監控4 動態核心跟蹤stap篇 37:12
課時24:24 PostgreSQL 日常維護和巡檢 63:57
課時25:25 PostgreSQL 資料庫安全認證 19:37
課時26:26 PostgreSQL 物件安全控制 41:13
課時27:27 PostgreSQL 建模,壓力測試 137:2
課程目標
掌握PostgreSQL資料庫的使用
適合人群
DBA
阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場)