1. 程式人生 > >postgresql最全整理資料,PostgreSQL 30天 培訓視訊(SQL基礎,備份恢復,HA,服務端程式設計,大資料,核心,應用案例)

postgresql最全整理資料,PostgreSQL 30天 培訓視訊(SQL基礎,備份恢復,HA,服務端程式設計,大資料,核心,應用案例)

針對一些網友的反饋, 重新設計的培訓內容如下, 由淺入深, 適合不同的人群. 包含
《PostgreSQL發展歷程,社群介紹,資源介紹 2小時》
《PostgreSQL SQL基礎 2天》
《PostgreSQL 資料庫管理 3天》
《PostgreSQL 資料庫備份與恢復, 資料複製, 負載均衡與高可用 3天》
《PostgreSQL 服務端程式設計 3天》
《PostgreSQL 效能優化 3天》
《PostgreSQL 大資料應用 3天》
《PostgreSQL 核心 2天》
《PostgreSQL 應用案例 n天》
個人技術水平有限, 應用案例的培訓誠邀有經驗的技術人員分享以拓展應用面, 譬如遊戲開發者, 大資料分析產品的開發者等.

詳細的課程內容如下 :
《PostgreSQL發展歷程,社群介紹,資源介紹 2小時》

《PostgreSQL SQL基礎 2天》
第一天
PostgreSQL的安裝, 架構基礎介紹, 如何建立和訪問資料庫;
SQL語言基礎(建立表, 操作表資料, 表關聯查詢, 聚合查詢);
SQL高階應用(檢視, 外來鍵, 事務, 視窗函式, 繼承);
SQL語義結構介紹(關鍵字, 常量, 操作符, 特殊字元, 註釋, 操作符的優先順序);
值表示式介紹(列, 位置引數, 陣列下標, field引用, 操作符呼叫, 函式呼叫, 聚合表示式, 視窗函式呼叫, 型別轉換, collate表示式, 標量子查詢, 陣列構造器, 行構造器, 表示式邏輯運算規則);
函式呼叫用法介紹(位置引數呼叫, 命名引數呼叫, 混合呼叫);
資料定義(預設值, 約束, 系統列, 表結構和定義修改, 許可權, schema, 繼承, 分割槽, 外部資料);
第二天
資料查詢(from子句, where子句, group by having子句, 視窗子句, select子句, 結果集合操作, 排序, 限制, 位移, values子句, CET用法);
資料型別(數字, 貨幣, 字元, 位元組, 時間, 布林, 列舉, 幾何, 網路, 位元, 文字搜尋, UUID, XML, JSON, 陣列, 複合型別, 範圍型別, 物件型別, 偽型別);
函式與操作符(邏輯, 比較, 數學運算, 字串, 位元組流, 位元位, 樣式匹配, 格式化, 時間, 列舉, 幾何, 網路, 全文檢索, XML, JSON, 序列, 條件, 陣列, 範圍, 聚合, 視窗, 子查詢, 行與陣列的比較, SRF函式, 系統資訊函式, 系統管理函式, 觸發器函式, 事件觸發器函式);
型別轉換;
索引用法;
全文檢索用法;
並行控制;
SQL效能優化;

《PostgreSQL 資料庫管理 3天》
第一天
PostgreSQL原始碼安裝(原始碼結構介紹, 配置介紹, 自定義FLAG介紹, 核心引數優化, 安裝);
資料庫伺服器配置(OS USER, 初始化叢集, 啟動資料庫叢集, 關閉資料庫叢集, 升級資料庫軟體, 防止欺騙, 資料封裝方法, SSL, SSH隧道)
資料庫叢集程序結構介紹(postmaster, logger, checkpointer, writer, wal writer, autovacuum launcher, autovacuum worker, stats collector, backend, worker);
認證和連線(客戶端認證方法介紹, 認證配置, 常用認證方法使用舉例, 常見認證錯誤排錯);
pgAdmin III 使用介紹(安裝, 使用, 除錯函式, 維護資料);
資料庫配置(guc.c, 引數優先順序, 引數含義, 開發引數, guc隱含引數, 如何修改引數並使之生效, 如何檢視當前引數值, 如何檢視引數值的範圍);
使用者管理(建立角色, 角色許可權管理, 角色membership管理, 角色成員許可權管理);
資料庫邏輯結構(cluster, database, schema, object, field, access privilege);
資料庫物理結構(tablespace, datafile, segment, block, controlfile, xlog, archivelog);
第二天
資料庫管理(建立表空間, 建立資料庫, 建立資料庫模板, 資料庫配置, 刪除資料庫, 跨資料庫的資料訪問);
基於角色的物件許可權管理(表, 列, 序列, 資料庫, 域, 外部資料, 函式, 語言, 大物件, schema, 表空間, 型別);
預設許可權和繼承許可權(default privilege, inherit privilege);
資料庫安全(認證, 網路, 資料儲存, 密碼, 注入, 欺騙);
資料庫監控(狀態監控, 趨勢監控, 預警, 常用監控工具和外掛nagios, zabbix, pg_statsinfo);
多版本併發控制和垃圾回收;
日常維護(垃圾回收, 資料重組, 索引維護, VM維護, 預防XID溢位, 日誌維護);
第三天
資料遷移(邏輯備份和還原, 增量資料遷移的方法, 異構資料遷移的方法(如oracle to postgresql));
如何打資料庫補丁;
資料庫版本升級(小版本升級方法, 大版本升級方法);
建模與Benchmark(如何根據業務形態建立資料庫測試模型, 測試工具的使用, 根據測試模型和硬體標準輸出benchmark);
資料庫日誌分析(錯誤程式碼介紹, 日誌的篩選過濾, 日誌的維護);
資料庫審計(引數層面的審計開關, 定製化審計(如觸發器結合HSTORE), 審計資料的維護手段);
本地化(字符集, collate, 編碼轉換, 如何防止亂碼);
資料庫效能分析(OS效能分析報表, SQL效能分析報表);
資料庫巡檢(如何定製巡檢項, 指標, 如何分析巡檢報告);

《PostgreSQL 資料庫備份與恢復, 資料複製, 負載均衡與高可用 3天》
第一天
邏輯資料備份和還原(定製備份目標, 備份集壓縮, 編輯TOC檔案, 可選還原, 文字還原, 命令詳解pg_dump, pg_dumpall, pg_restore);
物理資料備份和基於時間點,XID,還原點的還原(物理備份原理, 引數配置, fsync介面可靠性測試, 歸檔指令碼編寫, 備份演示, 三種還原截止的演示, WAL不寫場景的資料修正方法);
邏輯備份設計案例(在被管理的資料庫較多的場景中, 如何設計集中備份和元資料的管理, 分散式檔案系統的應用);
物理備份設計案例(在被管理的資料庫較多的場景中, 如何設計集中備份和元資料的管理);
資料庫流複製概念(流複製協議的介紹, 同步和非同步的流複製架構, 相關的引數, 利用流複製協議的命令講解pg_basebackup, pg_receivexlog);
容災設計案例(log shipping, stream replication異地容災架構, 容災需要考慮的WAN網路安全, 資料加密, 資料壓縮, 網路穩定性等問題);
第二天
資料複製的分類和應用場景(中介軟體資料分發的前端複製, 基於觸發器的後端複製, 基於塊變更的物理複製, 基於xlog的邏輯複製);
前端資料複製應用案例(pgpool-II);
後端資料複製應用案例(londiste3, slony-I, 觸發器);
物理複製應用案例(同步和非同步stream replication, log shipping);
XLOG邏輯複製應用案例(stream replication 9.4);
standby在升級PostgreSQL版本中的應用舉例
第三天
高可用方案(介紹高可用的兩種架構以及優缺點 - 共享儲存, replication standby; 這兩種HA架構的具體實施方法; 流複製HA的使用注意事項, WAL不寫場景, 非同步場景的角色切換);
負載均衡案例(讀寫分離架構以及實現方法舉例(pgpool-II), 讀寫負載均衡架構以及實現方法舉例(pgpool-II,plproxy,pg-xc));

《PostgreSQL 服務端程式設計 3天》
第一天
SQL函式(引數: 基本型別, 複雜型別, OUTPUT, 可變引數, 預設值, 表引數; 返回結果集; 返回表; 任意型別引數)
函式過載(同名, 但是引數型別不同或引數個數不同)
函式穩定性(volatile, stable, immutable詳解)
函式成本和執行計劃
函式PLAN CACHE
第二天
過程語言(安裝語言, 語言可信度, plpgsql, plpython, …)
觸發器
事件觸發器
規則系統
第三天
C語言函式
聚合函式開發
函式內容加密
模組釋出
代理函式語言(針對大資料的scale out, plproxy)

《PostgreSQL 效能優化 3天》
第一天
硬體架構(CPU,記憶體,磁碟,儲存快取,儲存可靠性)
硬體benchmark(cpu, 記憶體, 塊裝置)
檔案系統特性以及優化(ext4, xfs, zfs, btrfs, …)
核心引數優化
快取(本地快取shared buffer, os cache; 外部快取memcached, redis)
引數調優
多版本併發控制, 鎖, 垃圾回收, HOT, 如何減少產生垃圾
第二天
建模和壓力測試, 資料庫benchmark(tpc-b, 自定義benchmark)
索引(btree, hash, gin, gist, spgist索引用法, 複合索引, 排他索引, 部分索引, 函式索引, 全文檢索)
查詢優化(柱狀圖, 成本因子以及校準, explain, 資料訪問開關, plan cache, 函式三態, join優化, geqo, CET, 視窗函式)
統計資訊(pg_stat*, pg_statio*)
狀態監控和趨勢報表
第三天
連線池
讀寫分離
資料分割槽(本地分割槽, 異地分割槽)
負載均衡
DEBUG, TRACE, 效能分析工具
效能優化案例

《PostgreSQL 大資料應用 3天》
第一天
本地資料分割槽
異地資料分割槽
負載均衡
物化檢視在大資料中的應用
加速資料載入
加速資料匯出
plproxy的架構以及用法
第二天
londiste3的架構以及用法
pg-xc的架構以及用法
pgpool-II的架構以及用法
第三天
citusdb的架構以及用法
greenplum的架構以及用法
fdw for MPP
實時大資料統計案例

《PostgreSQL 核心 2天》
第一天
程序結構
backend工作流(初始化工作流, 主查詢工作流, 命令, 輔助程序)
第二天
探針
動態核心跟蹤

《PostgreSQL 應用案例 n天》
這部分內容大多來自我寫過的BLOG, 針對以前寫過的一些和PG相關的專題文章細化再以視訊的形式演示和講解方便讀者理解, 適合有PostgreSQL基礎的朋友.