PostgreSQL資料庫核心分析

PostgreSQL資料庫核心分析

《PostgreSQL資料庫核心分析》是2011年機械工業出版社出版的圖書,作者是彭智勇。本書從PostgreSQL資料庫的原始碼入手,深入分析了該資料庫管理系統的底層實現細節,揭示了資料庫運行的基本原理。本書的主要內容包括:PostgreSQL資料庫的體系結構、 存儲管理、索引機制、查詢編譯、查詢執行、並發控制機制以及安全等。

基本介紹

  • 書名:PostgreSQL資料庫核心分析
  • 作者:彭智勇
  • ISBN:9787111359050
  • 定價:79.00元
  • 出版社:機械工業出版社
  • 出版時間:2011年11月
  • 開本:16
出版信息,內容簡介,作者簡介,目錄,

出版信息

圖書策劃公司:北京華章圖文信息有限公司
版次:1-1

內容簡介

PostgreSQL是目前廣泛套用的開源資料庫管理系統。
每個主題都引用了大量的數據結構、圖表等進行說明,使讀者對實現過程和機理一目了然。

作者簡介

彭智勇:武漢大學計算機學院教授,博士生導師,日本京都大學博士,武漢大學珞珈特聘教授,中國計算機學會資料庫專業委員會委員,長期從事資料庫理論與技術的研究和教學工作。在武漢大學開設了“資料庫基礎教程”、“資料庫系統實現”、“資料庫核心分析”等資料庫系列課程。
彭煜瑋:武漢大學計算機學院講師、博士,長期從事資料庫理論與技術研究以及教學工作,主要負責“資料庫核心分析”等課程的實踐教學工作。

目錄

前 言
第1章 PostgreSQL系統概述/1
1.1 PostgreSQL簡介及發展歷程/1
1.2 PostgreSQL的特性/2
1.3 PostgreSQL的套用/3
1.4 PostgreSQL代碼結構/3
1.5 安裝PostgreSQL/4
1.6 PostgreSQL資料庫命令/5
第2章 PostgreSQL的體系結構/7
2.1 系統表/8
2.1.1 主要系統表功能及依賴關係/8
2.1.2 系統視圖/14
2.2 數據集簇/15
2.2.1 initdb的使用/17
2.2.2 postgres.bki/17
2.2.3 initdb的執行過程/19
2.2.4 系統資料庫/20
2.3 PostgreSQL進程結構/21
2.4 守護進程Postmaster/22
2.4.1 初始化記憶體上下文/23
2.4.2 配置參數/23
2.4.3 創建監聽套接字/28
2.4.4 註冊信號處理函式/29
2.4.5 輔助進程啟動/31
2.4.6 裝載客戶端認證檔案/32
2.4.7 循環等待客戶連線請求/33
2.5 輔助進程/34
2.5.1 SysLogger系統日誌進程/34
2.5.2 BgWriter後台寫進程/36
2.5.3 WalWriter預寫式日誌寫進程/38
2.5.4 PgArch預寫式日誌歸檔進程/40
2.5.5 AutoVacuum系統自動清理進程/41
2.5.6 PgStat統計數據收集進程/44
2.6 服務進程Postgres/47
2.6.1 初始化記憶體環境/48
2.6.2 配置運行參數和處理客戶端傳遞的GUC參數/48
2.6.3 設定信號處理和信號禁止/48
2.6.4 初始化Postgres的運行環境/49
2.6.5 創建記憶體上下文並設定查詢取消跳躍點/50
2.6.6 循環等待處理查詢/50
2.6.7 簡單查詢的執行流程/52
2.7 小結/53
第3章 存儲管理/54
3.1 存儲管理器的體系結構/54
3.2 外存管理/57
3.2.1 表和元組的組織方式/58
3.2.2 磁碟管理器/60
3.2.3 VFD機制/61
3.2.4 空閒空間映射表/64
3.2.5 可見性映射表/69
3.2.6 大數據存儲/69
3.3 記憶體管理/76
3.3.1 記憶體上下文概述/77
3.3.2 高速快取/84
3.3.3 緩衝池管理/94
3.3.4 IPC/102
3.4 表操作與元組操作/106
3.4.1 表操作/106
3.4.2 元組操作/112
3.5 VACUUM機制/115
3.5.1 VACUUM操作/115
3.5.2 Lazy VACUUM/116
3.5.3 Full VACUUM/118
3.6 ResourceOwner資源跟蹤/120
3.7 小結/122
第4章 索引/123
4.1 概述/123
4.1.1 索引方式/124
4.1.2 索引類型/125
4.1.3 索引相關係統表/125
4.1.4 索引的操作函式/129
4.2 B-Tree索引/131
4.2.1 B-Tree索引的組織結構/132
4.2.2 B-Tree索引的操作/135
4.3 Hash索引/146
4.3.1 Hash索引的組織結構/147
4.3.2 Hash索引的實現/153
4.4 GiST索引/161
4.4.1 GiST的擴展性/161
4.4.2 GiST索引的組織結構/162
4.4.3 GiST索引的實現/163
4.4.4 GiST索引實例/166
4.5 GIN索引/168
4.5.1 GIN索引的擴展性/168
4.5.2 GIN索引的組織結構/170
4.5.3 GIN索引的操作/172
4.6 TSearch2全文搜尋/179
4.6.1 全文索引的創建/180
4.6.2 全文索引的查詢/184
4.6.3 查詢結果處理/185
4.7 小結/186
第5章 查詢編譯/187
5.1 概述/187
5.2 查詢分析/188
5.2.1 Lex和Yacc簡介/189
5.2.2 詞法和語法分析/193
5.2.3 語義分析/208
5.3 查詢重寫/218
5.3.1 規則系統/219
5.3.2 查詢重寫的處理操作/224
5.4 查詢規劃/228
5.4.1 總體處理流程/229
5.4.2 預處理/237
5.4.3 生成路徑/240
5.4.4 生成可最佳化的MIN/MAX聚集計畫/253
5.4.5 生成普通計畫/254
5.4.6 生成完整計畫/257
5.4.7 整理計畫樹/259
5.4.8 實例分析/260
5.5 代價估計/266
5.5.1 代價估算公式/267
5.5.2 選擇度/268
5.5.3 單個表的掃描代價/268
5.5.4 兩個表的連線代價/268
5.6 PostgreSQL中的遺傳算法/268
5.6.1 個體編碼方式及種群初始化/269
5.6.2 適應值/270
5.6.3 父體選擇策略/270
5.6.4 雜交運算元/270
5.6.5 變異運算元/275
5.6.6 終止條件/275
5.6.7 基於排列生成路徑/276
5.6.8 實例分析/276
5.7 小結/280
第6章 查詢執行/282
6.1 查詢執行策略/283
6.1.1 可最佳化語句和數據定義語句/284
6.1.2 四種執行策略/284
6.1.3 策略選擇的實現/286
6.1.4 Portal執行的過程/288
6.2 數據定義語句執行/289
6.2.1 數據定義語句執行流程/289
6.2.2 執行實例/290
6.2.3 主要的功能處理器函式/293
6.3 可最佳化語句執行/293
6.3.1 物理代數與處理模型/294
6.3.2 物理操作符的數據結構/295
6.3.3 執行器的運行/297
6.3.4 執行實例/301
6.4 計畫節點/303
6.4.1 控制節點/304
6.4.2 掃描節點/310
6.4.3 物化節點/319
6.4.4 連線節點/328
6.5 其他子功能介紹/334
6.5.1 元組操作/334
6.5.2 表達式計算/337
6.5.3 投影操作/340
6.6 小結/342
第7章 事務處理與並發控制/343
7.1 事務系統簡介/343
7.2 事務系統的上層/344
7.2.1 事務塊狀態/345
7.2.2 事務塊操作/346
7.3 事務系統的底層/348
7.3.1 事務狀態/348
7.3.2 事務操作函式/350
7.3.3 簡單查詢事務執行過程實例/352
7.4 事務保存點和子事務/353
7.4.1 保存點實現原理/353
7.4.2 子事務/353
7.5 兩階段提交/354
7.5.1 預提交階段/354
7.5.2 全局提交階段/355
7.6 PostgreSQL的並發控制/355
7.7 PostgreSQL中的三種鎖/357
7.7.1 SpinLock/357
7.7.2 LWLock/358
7.7.3 RegularLock/360
7.8 鎖管理機制/368
7.8.1 表粒度的鎖操作/368
7.8.2 頁粒度的鎖操作/369
7.8.3 元組粒度的鎖操作/369
7.8.4 事務粒度的鎖操作/369
7.8.5 一般對象的鎖操作/369
7.9 死鎖處理機制/370
7.9.1 死鎖處理相關數據結構/371
7.9.2 死鎖處理相關操作/372
7.10 多版本並發控制/373
7.10.1 MVCC相關數據結構/373
7.10.2 MVCC相關操作/375
7.10.3 MVCC與快照/379
7.11 日誌管理/380
7.11.1 SLRU緩衝池/381
7.11.2 CLOG日誌管理器/386
7.11.3 SUBTRANS日誌管理器/390
7.11.4 MULTIXACT日誌管理器/392
7.11.5 XLOG日誌管理器/394
7.11.6 日誌管理器總結/402
7.12 小結/403
第8章 資料庫安全/404
8.1 PostgreSQL安全簡介/404
8.2 用戶標識和認證/405
8.2.1 客戶端配置檔案/406
8.2.2 認證方法/408
8.2.3 客戶端認證/410
8.3 基於角色的許可權管理/413
8.3.1 用戶和角色/413
8.3.2 角色相關的系統表/415
8.3.3 角色管理/416
8.4 對象訪問控制/426
8.4.1 訪問控制列表/426
8.4.2 對象許可權管理/428
8.4.3 對象許可權檢查/432
8.5 小結/433
附錄A 用Eclipse開發和調試PostgreSQL/434

相關詞條

熱門詞條

聯絡我們