快速掌握PostgreSQL版本新特性

彭沖

  • 出版商: 電子工業
  • 出版日期: 2023-12-01
  • 售價: $270
  • 貴賓價: 9.5$257
  • 語言: 簡體中文
  • 頁數: 214
  • ISBN: 7121467402
  • ISBN-13: 9787121467400
  • 相關分類: PostgreSQLSQL
  • 立即出貨

商品描述

自2019年底加入墨天輪數據社區以來,筆者在PG樂知樂享專欄持續撰寫了與PostgreSQL相關的文章,近幾年陸續撰寫了一些有關各版本新特性方面的文章。由於PostgreSQL每個版本發布的新特性較多,因此要想全面、完整地掌握PostgreSQL新特性十分困難。本書對PostgreSQL的7個大版本:從PostgreSQL 10到PostgreSQL 16,根據公開的新特性實驗手冊、新特性相關的文章、郵件列表、社區核心提交者相關的博客,以及官方Release Notes等素材進行精加工,並從主要性能、可靠性、運維管理、開發易用性、系統層5個方面進行介紹。在當前國內外環境下,PostgreSQL正在不斷崛起,本書從新特性的視角幫助讀者掌握數據庫的正確使用方式。

目錄大綱

第1章 PostgreSQL 10新特性 1
1.1 PostgreSQL 10的主要性能提升 1
1.1.1 數據分區 1
1.1.2 並行特性增強 1
1.1.3 統計信息擴展 2
1.1.4 AFTER觸發器性能增強 4
1.1.5 Aggregate操作支持下推 5
1.2 PostgreSQL 10的可靠性提高 7
1.2.1 仲裁提交引入 7
1.2.2 HASH索引支持記錄WAL 8
1.2.3 事務提交狀態檢測 8
1.3 PostgreSQL 10的運維管理優化 9
1.3.1 WAL文件大小擴容 9
1.3.2 WAL支持在線壓縮 10
1.3.3 ICU標準庫引入 10
1.3.4 活動會話視圖增強 10
1.3.5 HBA文件新增系統視圖 11
1.3.6 promote子命令增加等待模式 12
1.3.7 基礎備份增強 12
1.3.8 臨時復制槽引入 13
1.3.9 行級安全策略優化 13
1.3.10 PSQL工具允許條件式交互 15
1.4 PostgreSQL 10的開發易用性提升 15
1.4.1 聲明式分區引入 15
1.4.2 表級數據發布與訂閱 17
1.4.3 標識列引入 18
1.4.4 全文檢索支持JSON與JSONB數據類型 21
1.4.5 xmltable函數引入 22
1.5 PostgreSQL 10的系統層變化 24
1.5.1 XLOG重命名 24
1.5.2 系統元數據引入 25
1.5.3 配置參數引入 26
1.5.4 口令加密安全性提高 26
1.5.5 預置角色變化 26
1.5.6 附加模塊變化 27
1.6 本章小結 27
第2章 PostgreSQL 11新特性 28
2.1 PostgreSQL 11的主要性能提升 28
2.1.1 WAL可配置 28
2.1.2 B-Tree索引並行創建 29
2.1.3 HASH操作及HASH JOIN操作支持並行 30
2.1.4 其他並行特性支持 31
2.1.5 表達式索引引入 32
2.1.6 覆蓋索引引入 33
2.1.7 實時編譯引入 34
2.1.8 緩存管理改進 35
2.1.9 UPDATE操作和DELETE操作支持下推 35
2.2 PostgreSQL 11的可靠性提高 36
2.2.1 數據塊校驗和檢測 36
2.2.2 B-Tree索引壞塊檢測 37
2.2.3 查詢ID由32位擴充為64位 37
2.3 PostgreSQL 11的運維管理優化 38
2.3.1 快速添加列 38
2.3.2 維護操作支持多個表 40
2.3.3 分區數據支持通過父表加載 40
2.3.4 新增KILL信號 40
2.3.5 WAL支持離線重構 40
2.3.6 PSQL工具支持記錄語句執行情況 41
2.4 PostgreSQL 11的開發易用性提升 42
2.4.1 聲明式分區增強 42
2.4.2 支持事務控制的存儲過程 43
2.4.3 邏輯復制支持TRUNCATE操作 44
2.4.4 窗口函數增強 44
2.5 PostgreSQL 11的系統層變化 45
2.5.1 配置參數引入 45
2.5.2 預置角色變化 46
2.5.3 超級用戶權限下放 46
2.5.4 附加模塊變化 47
2.6 本章小結 47
第3章 PostgreSQL 12新特性 48
3.1 PostgreSQL 12的主要性能提升 48
3.1.1 CTE優化 48
3.1.2 索引效率提升 50
3.1.3 系統函數優化 51
3.2 PostgreSQL 12的運維管理優化 51
3.2.1 校驗和開關控制 51
3.2.2 COPY FROM命令數據過濾 52
3.2.3 用戶級流復制超時控制 52
3.2.4 VACUUM操作及ANALYZE操作鎖跳過 53
3.2.5 表及索引清理解耦 54
3.2.6 索引在線重建 54
3.2.7 執行計劃顯示非默認參數 55
3.2.8 後台操作進度報告引入 56
3.2.9 備庫升主庫開放SQL接口 57
3.2.10 PSQL工具幫助鏈接添加 57
3.3 PostgreSQL 12的開發易用性提升 58
3.3.1 聲明式分區增強 58
3.3.2 運算存儲列使用 59
3.3.3 綁定變量窺探引入 60
3.3.4 SQL/JSON path引入 61
3.3.5 枚舉數據類型增強 63
3.4 PostgreSQL 12的系統層變化 63
3.4.1 表存儲引擎開放 63
3.4.2 恢復相關配置優化 64
3.4.3 系統元數據引入 64
3.4.4 配置參數引入 65
3.4.5 流復制連接數優化 66
3.4.6 DOS攻擊預防 66
3.4.7 SSL協議可控 67
3.4.8 附加模塊變化 67
3.5 本章小結 67
第4章 PostgreSQL 13新特性 68
4.1 PostgreSQL 13的主要性能提升 68
4.1.1 索引去重 68
4.1.2 增量排序 70
4.1.3 庫級索引並發重建 71
4.1.4 HASH聚合可溢出到磁盤 72
4.1.5 索引並行清理 72
4.1.6 PL/pgSQL提速 74
4.1.7 Windows連接優化 75
4.2 PostgreSQL 13的可靠性提高 75
4.2.1 備份可靠性提高 75
4.2.2 流復制可動態配置 77
4.3 PostgreSQL 13的運維管理優化 77
4.3.1 數據庫刪除更便捷 77
4.3.2 並行查詢關聯PID 78
4.3.3 共享內存可觀測 79
4.3.4 基於磁盤的緩存可監控 79
4.3.5 後台操作進度報告引入 80
4.3.6 語句日誌採樣降噪 80
4.3.7 PSQL工具跟蹤事務運行狀態 80
4.3.8 pg_rewind工具優化 82
4.4 PostgreSQL 13的開發易用性提升 83
4.4.1 分區表及邏輯復制改進 83
4.4.2 標識列可忽略用戶輸入 84
4.4.3 存儲列可轉換為普通列 85
4.4.4 分頁排序可並列排名 86
4.4.5 易用的內置函數引入 87
4.4.6 FF1~FF6時間格式引入 88
4.4.7 Row表達式使用 88
4.4.8 視圖列名糾正 89
4.5 PostgreSQL 13的系統層變化 89
4.5.1 系統元數據引入 89
4.5.2 配置參數引入 89
4.5.3 對象標識符類型引入 90
4.5.4 內部術語引入 91
4.5.5 備庫升主庫流程優化 91
4.5.6 INSERT操作自動清理調優 92
4.5.7 WAL用量跟蹤 93
4.5.8 壞塊繞過繼續恢復 95
4.5.9 外部表安全性提高 95
4.5.10 附加模塊變化 96
4.6 本章小結 97
第5章 PostgreSQL 14新特性 98
5.1 PostgreSQL 14的主要性能提升 98
5.1.1 高並發連接優化 98
5.1.2 緊急清理模式引入 99
5.1.3 列級壓縮可配置 99
5.1.4 邏輯復制改進 101
5.1.5 嵌套循環改進 102
5.1.6 並行特性增強 103
5.2 PostgreSQL 14的可靠性提高 104
5.2.1 數據結構檢測 105
5.2.2 備節點可作為恢復源 105
5.2.3 密碼長度限制取消 107
5.3 PostgreSQL 14的運維管理優化 107
5.3.1 查詢ID引入 108
5.3.2 索引表空間在線移動 111
5.3.3 觸發器在線重建 112
5.3.4 控制客戶端連接 113
5.3.5 後台操作進度報告引入 114
5.3.6 可觀測性增強 115
5.4 PostgreSQL 14的開發易用性提升 115
5.4.1 多範圍類型引入 115
5.4.2 存儲過程支持OUT模式參數 116
5.4.3 新形式的SQL函數引入 116
5.4.4 JSON操作功能增強 118
5.4.5 遞歸查詢改進 119
5.4.6 易用的內置函數引入 122
5.5 PostgreSQL 14的系統層變化 125
5.5.1 系統元數據引入 125
5.5.2 系統函數變化 126
5.5.3 預置角色變化 126
5.5.4 配置參數變化 128
5.5.5 客戶端C驅動改進 129
5.5.6 客戶端認證安全性提高 130
5.5.7 附加模塊變化 131
5.6 本章小結 133
第6章 PostgreSQL 15新特性 135
6.1 PostgreSQL 15的主要性能提升 135
6.1.1 統計信息內存化 135
6.1.2 增量排序算法改進 136
6.1.3 WAL恢復預讀取 137
6.1.4 全塊寫新增壓縮算法 138
6.1.5 備份效率提高 138
6.1.6 並行特性增強 140
6.2 PostgreSQL 15的可靠性提高 141
6.2.1 統計信息一致性讀取 141
6.2.2 統一非獨占備份模式引入 142
6.2.3 本地化Collation相關增強 142
6.2.4 流復制支持UNLOGGED序列 144
6.2.5 pg_rewind工具指定外部配置文件 145
6.3 PostgreSQL 15的運維管理優化 145
6.3.1 服務端本地備份引入 145
6.3.2 JSON格式日誌引入 147
6.3.3 創建數據庫功能增強 150
6.3.4 COPY操作對文本格式增強 150
6.3.5 執行計劃顯示信息改進 151
6.3.6 pg_receivewal工具壓縮功能增強 153
6.3.7 PSQL工具優化 153
6.4 PostgreSQL 15的開發易用性提升 155
6.4.1 MERGE語句引入 155
6.4.2 NULL值與UNIQUE約束更搭 162
6.4.3 numeric數據類型改進 163
6.4.4 正則表達式函數引入 164
6.4.5 分區表改進 165
6.4.6 邏輯復制改進 166
6.5 PostgreSQL 15的系統層變化 167
6.5.1 系統元數據引入 167
6.5.2 系統函數變化 168
6.5.3 預置角色變化 169
6.5.4 配置參數變化 170
6.5.5 GRANT命令授權變化 173
6.5.6 遞歸查詢優化 173
6.5.7 公共模式安全性提高 174
6.5.8 視圖安全性提高 176
6.5.9 附加模塊變化 177
6.6 本章小結 177
第7章 PostgreSQL 16新特性 179
7.1 PostgreSQL 16的主要性能提升 179
7.1.1 並行特性增強 179
7.1.2 預排序性能提升 180
7.1.3 死元組清理性能提升 180
7.1.4 其他性能提升 180
7.2 PostgreSQL 16的運維管理優化 181
7.2.1 I/O統計更詳細 181
7.2.2 pg_dump工具功能增強 182
7.2.3 PSQL工具功能增強 183
7.2.4 VACUUM命令及VACUUMDB工具功能增強 183
7.2.5 pg_hba.conf文件配置更高效 184
7.2.6 普通用戶連接優化 184
7.2.7 HOT更新監控增強 185
7.2.8 不活躍索引監控 185
7.2.9 便捷的參數化語句分析 186
7.3 PostgreSQL 16的開發易用性提升 187
7.3.1 邏輯復制功能完善 187
7.3.2 SQL標準2023部分支持引入 188
7.3.3 SQL/JSON 函數功能增強 189
7.3.4 數據導入默認值重定義 192
7.3.5 libpq協議負載均衡功能引入 193
7.4 PostgreSQL 16的系統層變化 193
7.4.1 版本兼容性變化 193
7.4.2 系統函數變化 195
7.4.3 預置角色變化 196
7.4.4 配置參數變化 196
7.4.5 初始用戶權限優化 197
7.4.6 成員角色權限變化 197
7.4.7 附加模塊變化 200
7.5 本章小結 200