發表於2024-11-10
PostgreSQL中國社區資深數據庫專傢、沃趣科技首席數據庫架構師撰寫,PostgreSQL數據庫領域經典著作
係統講解PostgreSQL技術內幕,深入分析PostgreSQL特色功能,包含大量來自實際生産環境的經典案例和經驗總結
PostgreSQL數據庫是目前功能最強大的開源數據庫,它基本上包含其他所有商業或開源數據庫中你能找到的功能(如函數索引、觸發器、分析函數、自定義函數等),甚至一些商業數據庫中沒有的功能它也有(如錶列的類型支持數組類型、JSON和JSONB類型,支持空間索引等)。它提供瞭最接近工業標準SQL92的SQL查詢語言,並且正在實現新的功能以兼容全新的SQL標準:SQL:2011。它擁有完善的基於代價(COST)的查詢優化器,支持“hash join”、“sort merge join”等功能,復雜的SQL語句仍然可以被正確高效地執行。本書將結閤大量的實例和經驗與您全方位探討PostgreSQL數據庫相關知識。
《PostgreSQL修煉之道:從小工到專傢》的主要內容和特色:
全麵且實踐性強:本書從SQL基礎、安裝配置、數據類型、數據庫的邏輯結構等基礎知識一直講到PostgreSQL的架構、技術內幕、特色功能、Standby、數據庫優化以及一些配套的開源軟件的使用,覆蓋瞭PostgreSQL領域方方麵麵的知識。幾乎每章都有大量的示例和經驗總結。
實用與特色兼顧:書中不僅介紹瞭與PostgreSQL配套的實用性很強的主流開源軟件(如PgBouncer、Slony-I、Bucardo、PL/Proxy、pgpool-II、Postgres-XC),還針對PostgreSQL的特色功能(如規則係統、正則錶達式、序列、GiST索引等內容)進行瞭總結。
更多精彩,點擊進入品牌店查閱>>
《PostgreSQL修煉之道:從小工到專傢》是目前有關PostgreSQL數據庫領域比較全麵和係統的中文著作,內容十分豐富。全書共20章,分為四個部分。
準備篇(1~3章)針對PostgreSQL數據庫的總體概況、安裝配置步驟及SQL基礎知識進行瞭介紹。基礎篇(4~8章)的內容是為瞭幫助對PostgreSQL數據庫不是很瞭解的讀者打好基礎。這部分介紹瞭psql工具的使用方法, PostgreSQL數據庫的數據類型和數據庫對象的操作方法,以及PostgreSQL數據庫的架構和數據庫服務的管理等知識。提高篇(9~13章)講解PostgreSQL的執行計劃、技術內幕及特色功能,最後還介紹瞭解數據庫優化方法和PostgreSQL Standby數據庫的搭建過程。若想早日成為PostgreSQL數據庫高手,請仔細閱讀這一部分內容。第三方開源軟件及架構篇(14~20章)介紹PostgreSQL中最常用開源連接池軟件PgBouncer、邏輯復製軟件Slony-I、邏輯同步軟件Bucardo、數據水平拆分功能的開源軟件 PLProxy、數據庫中間件軟件pgpool-II、集群數據庫軟件Postgres-XC的使用方法。最後還介紹瞭與PostgreSQL數據庫配套使用的一些開源軟件和搭建各種實用的高可用方案方麵的知識。
唐成,擁有十幾年數據庫、操作係統、存儲領域的工作經驗。目前任沃趣科技首席數據庫架構師,從事數據庫高可用、高性能以及數據庫雲化等方麵的研究工作。曆任阿裏巴巴數據庫專傢、高級數據庫專傢,從事過阿裏巴巴的綫上Oracle、Greenplum、PostgreSQL數據庫的架構設計和運維工作,為阿裏巴巴的PostgreSQL數據庫的布道者,推動阿裏雲的關係型數據庫服務(RDS)中提供PostgreSQL數據庫服務,為阿裏巴巴PostgreSQL數據庫方麵的技術帶頭人。也曾任網易杭州研究院開發專傢,主導瞭網易雲計算中的雲硬盤産品(類似有EBS)的設計和開發。
前言
第一篇準備篇
第1章PostgreSQL簡介2
1.1什麼是PostgreSQL2
1.1.1PostgreSQL概述2
1.1.2PostgreSQL的發展曆史2
1.1.3 PostgreSQL數據庫的優勢3
1.1.4 PostgreSQL應用現狀和發展趨勢4
1.2 PostgreSQL數據庫與其他數據庫的對比4
1.2.1PostgreSQL與MySQL數據庫的對比4
1.2.2 PostgreSQL與Oracle數據庫的對比6
1.3 小結6
第2章PostgreSQL安裝與配置7
2.1 從發行版本安裝7
2.1.1 在Debian或Ubuntu下的安裝7
2.1.2在Redhat、CentOS或Fedora下的安裝9
2.1.3 在Windows下的安裝12
2.1.4 發行版安裝總結16
2.2 從源碼安裝16
2.2.1 編譯安裝過程介紹16
2.2.2 下載源代碼17
2.2.3 編譯及安裝18
2.2.4 安裝後的配置20
2.2.5 創建數據庫簇21
2.2.6 安裝contrib目錄下的工具21
2.2.7 啓動和停止數據庫21
2.2.8 編譯安裝時的常見問題及解決方法22
2.3 安裝技巧介紹24
2.3.1 在Redhat、CentOS下使用二進製包安裝較新版本的方法24
2.3.2 如何使用較大的數據塊提高I/O性能25
2.4 PostgreSQL的簡單配置25
2.4.1 修改監聽的IP和端口25
2.4.2 與數據庫log相關的參數25
2.4.3 內存參數的設置26
2.5 小結26
第3章SQL語言入門27
3.1 SQL語句語法簡介27
3.1.1 語句的分類27
3.1.2 詞法結構27
3.2 DDL語句28
3.2.1 建錶語句28
3.2.2 刪除錶語句30
3.3 DML語句30
3.3.1 插入語句30
3.3.2 更新語句31
3.3.3 刪除語句31
3.4 查詢語句31
3.4.1 單錶查詢語句31
3.4.2 過濾條件的查詢32
3.4.3 排序32
3.4.4 分組查詢33
3.4.5 錶join34
3.5 其他SQL語句36
3.5.1 INSERT INTO... SELECT語句36
3.5.2 UNION語句36
3.5.3 TRUNCATE TABLE語句37
3.6 小結37
第二篇基礎篇
第4章psql工具的使用介紹40
4.1 psql介紹40
4.2 psql的簡單使用40
4.3 psql的常用命令42
4.3.1 d命令42
4.3.2 指定字符集編譯的命令45
4.3.3 pset命令46
4.3.4 x命令46
4.3.5 執行存儲在外部文件中的SQL命令47
4.3.6 顯示信息的命令48
4.3.7 更多的命令49
4.4 psql的使用技巧和注意事項50
4.4.1 曆史命令與補全的功能50
4.4.2 自動提交方麵的技巧50
4.4.3 如何得到psql中命令實際執行的SQL51
4.5 小結53
第5章數據類型54
5.1 類型介紹54
5.1.1 類型的分類54
5.1.2 類型輸入與轉換55
5.2 布爾類型56
5.2.1 布爾類型解釋56
5.2.2 布爾類型的操作符58
5.3 數值類型59
5.3.1 數值類型解釋59
5.3.2 整數類型 59
5.3.3 精確的小數類型59
5.3.4 浮點數類型60
5.3.5 序列類型61
5.3.6 貨幣類型61
5.3.7 數學函數和操作符62
5.4 字符串類型64
5.4.1 類型解釋64
5.4.2 字符串函數和操作符65
5.5 二進製數據類型67
5.5.1 二進製數據類型解釋67
5.5.2 二進製數據類型轉義錶示67
5.5.3 二進製數據類型的函數68
5.6 位串類型69
5.6.1 位串類型解釋69
5.6.2 位串類型的使用69
5.6.3 位串的操作符及函數70
5.7 日期/時間類型71
5.7.1 日期/時間類型詳解71
5.7.2 日期輸入72
5.7.3 時間輸入73
5.7.4 特殊值75
5.7.5 函數和操作符列錶75
5.7.6 時間函數77
5.7.7 extract和date_part函數80
5.8 枚舉類型81
5.8.1 枚舉類型的使用81
5.8.2 枚舉類型的說明82
5.8.3 枚舉類型的函數83
5.9 幾何類型84
5.9.1 幾何類型概況84
5.9.2 幾何類型的輸入84
5.9.3 幾何類型的操作符89
5.9.4 幾何類型的函數97
5.10 網絡地址類型98
5.10.1 網絡地址類型概況98
5.10.2 inet與cidr類型98
5.10.3 macaddr類型101
5.10.4 網絡地址類型的操作符101
5.10.5 網絡地址類型的函數102
5.11 復閤類型103
5.11.1 復閤類型的定義103
5.11.2 復閤類型的輸入104
5.11.3 訪問復閤類型105
5.11.4 修改復閤類型105
5.11.5 復閤類型的輸入與輸齣106
5.12 XML類型107
5.12.1 XML類型的輸入107
5.12.2 字符集的問題108
5.12.3 XML類型的函數109
5.13 JSON類型114
5.13.1 JSON類型簡介115
5.13.2 JSON類型的輸入與輸齣115
5.13.3 JSON類型的操作符116
5.13.4 JSON類型的函數118
5.13.5 JSON類型的索引121
5.14 Range類型125
5.14.1 Range類型簡介125
5.14.2 創建Range類型126
5.14.3 Range類型的輸入與輸齣127
5.14.4 Range類型的操作符130
5.14.5 Range類型的函數130
5.14.6 Range類型的索引和約束131
5.15 數組類型132
5.15.1 數組類型的聲明132
5.15.2 如何輸入數組值133
5.15.3 訪問數組135
5.15.4 修改數組137
5.15.5 數組的操作符138
5.15.6 數組的函數139
5.16 僞類型142
5.17 其他類型143
5.17.1 UUID類型143
5.17.2 pg_lsn 類型143
第6章邏輯結構管理145
6.1 數據庫邏輯結構介紹145
6.2 數據庫基本操作145
6.2.1 創建數據庫145
6.2.2 修改數據庫146
6.2.3 刪除數據庫147
6.2.4 常見問題及解答147
6.3 模式148
6.3.1 模式的定義148
6.3.2 模式的使用148
6.3.3 公共模式150
6.3.4 模式的搜索路徑150
6.3.5 模式的權限151
6.3.6 模式的移植性151
6.4 錶152
6.4.1 創建錶152
6.4.2 錶的存儲屬性154
6.4.3 臨時錶156
6.4.4 默認值158
6.4.5 約束159
6.4.6 修改錶163
6.4.7 錶繼承及分區錶167
6.4.8 分區錶168
6.5 觸發器173
6.5.1 創建觸發器173
6.5.2 語句級觸發器與行級觸發器175
6.5.3 BEFORE觸發器與AFTER觸發器177
6.5.4 刪除觸發器178
6.5.5 觸發器的行為179
6.5.6 觸發器函數中的特殊變量180
6.6 事件觸發器180
6.6.1 創建事件觸發器183
6.6.2 修改事件觸發器186
6.7 錶空間186
6.7.1 錶空間的定義186
6.7.2 錶空間的使用186
6.8 視圖187
6.8.1 視圖的定義187
6.8.2 創建視圖188
6.8.3 可更新視圖189
6.9 索引191
6.9.1 索引簡介191
6.9.2 索引的分類192
6.9.3 創建索引192
6.9.4 並發創建索引193
6.9.5 修改索引196
6.9.6 刪除索引196
6.10 用戶及權限管理197
6.10.1 用戶和角色197
6.10.2 創建用戶和角色198
6.10.3 權限的管理199
6.10.4 函數和觸發器的權限202
6.10.5 權限的總結202
6.10.6 權限的示例202
6.11 事務、並發、鎖203
6.11.1 ACID203
6.11.2 DDL事務204
6.11.3 事務的使用204
6.11.4 SAVEPOINT205
6.11.5 事務隔離級彆206
6.11.6 兩階段提交207
6.11.7 鎖機製209
6.11.8 死鎖及防範212
6.11.9 錶級鎖命令LOCK TABLE213
6.11.10 行級鎖命令213
6.11.11 鎖的查看214
第7章PostgreSQL的核心架構221
7.1 應用程序的訪問接口221
7.1.1 訪問接口總體圖221
7.1.2 不同編輯語言的PostgreSQL驅動介紹222
7.2 進程及內存結構223
7.2.1 進程和內存架構圖223
7.2.2 主進程Postmaster224
7.2.3 SysLogger(係統日誌)進程224
7.2.4 BgWriter(後颱寫)進程225
7.2.5 WalWriter(預寫式日誌寫)進程225
7.2.6 PgArch(歸檔)進程225
7.2.7 AutoVacuum(自動清理)進程225
7.2.8 PgStat(統計數據收集)進程226
7.2.9 共享內存226
7.2.10 本地內存226
7.3 目錄結構227
7.3.1 安裝目錄的結構227
7.3.2 數據目錄的結構227
7.3.3 錶空間的目錄228
第8章服務管理229
8.1 服務的啓停和創建229
8.1.1 啓停方法229
8.1.2 pg_ctl230
8.1.3 信號234
8.1.4 postgres及單用戶模式234
8.2 服務配置介紹235
8.2.1 配置參數235
8.2.2 連接配置項237
8.2.3 內存配置項240
8.2.4 預寫式日誌的配置項241
8.2.5 錯誤報告和日誌項243
8.3 訪問控製配置文件246
8.3.1 pg_hba.conf 文件247
8.3.2 認證方法介紹248
8.3.3 認證方法實戰249
8.4 備份和還原249
8.4.1 邏輯備份249
8.4.2 pg_dump命令250
8.4.3 pg_restore命令254
8.4.4 pg_dump和pg_restore使用舉例257
8.4.5 物理備份258
8.4.6 使用LVM快照進行熱備份259
8.5 常用的管理命令261
8.5.1 查看係統信息的常用命令261
8.5.2 係統維護常用命令267
第三篇提高篇
第9章PostgreSQL中執行計劃270
9.1 執行計劃的解釋270
9.1.1 EXPLAIN命令270
9.1.2 EXPLAIN輸齣結果解釋271
9.1.3 EXPLAIN使用示例272
9.1.4 全錶掃描275
9.1.5 索引掃描275
9.1.6 位圖掃描275
9.1.7 條件過濾276
9.1.8 Nestloop Join277
9.1.9 Hash Join277
9.1.10 Merge Join278
9.2 與執行計劃相關的配置項279
9.2.1 ENABLE_*參數 279
9.2.2 COST基準值參數279
9.2.3 基因查詢優化的參數280
9.2.4 其他執行計劃配置項281
9.3 統計信息的收集282
9.3.1 統計信息收集器的配置項282
9.3.2 SQL執行的統計信息輸齣283
9.3.3 手工收集統計信息283
第10章PostgreSQL中的技術內幕285
10.1 錶中的係統字段285
10.1.1 oid286
10.1.2 ctid288
10.1.3 xmin、xmax、cmin、cmax289
10.2 多版本並發控製290
10.2.1 多版本並發控製的原理290
10.2.2 PostgreSQL中的多版本並發控製291
10.2.3 PostgreSQL多版本的優劣分析293
10.3 物理存儲結構293
10.3.1 PostgreSQL中的術語293
10.3.2 數據塊結構293
10.3.3 Tuple結構294
10.3.4 數據塊空閑空間管理296
10.3.5 可見性映射錶文件298
10.4 技術解密298
10.4.1 Index-only scans298
10.4.2 Heap-Only Tuples300
第11章PostgreSQL的特色功能302
11.1 規則係統302
11.1.1 SELECT規則302
11.1.2 更新規則303
11.1.3 規則和權限306
11.1.4 規則和命令狀態307
11.1.5 規則與觸發器的比較308
11.2 模式匹配和正則錶達式308
11.2.1 PostgreSQL中的模式匹配和正則錶達式介紹308
11.2.2 傳統SQL的LIKE 操作符309
11.2.3 SIMILAR TO 正則錶達式310
11.2.4 POSIX 正則錶達式312
11.2.5 模式匹配函數 substring313
11.3 listen與notify315
11.3.1 listen與notify的簡單示例315
11.3.2listen與notify的相關命令316
11.3.3 listen與notify的使用詳解317
11.4 索引的特色320
11.4.1 錶達式上的索引320
11.4.2 部分索引320
11.4.3 GiST索引323
11.4.4 SP-GiST索引325
11.4.5 GIN索引326
11.5 序列的使用328
11.5.1 序列的創建328PostgreSQL修煉之道:從小工到專傢 下載 mobi epub pdf txt 電子書 格式
PostgreSQL修煉之道:從小工到專傢 下載 mobi pdf epub txt 電子書 格式 2024
PostgreSQL修煉之道:從小工到專傢 下載 mobi epub pdf 電子書smallint為 -215~215-1
評分送貨神速!!
評分看得要放棄瞭
評分bigint為 -263~263-1
評分物流很快很滿意的一次購物滿分
評分感覺還行,可以當做入門學一學夠用瞭
評分為瞭京豆就評價下。
評分書還是可以的,隻是丟瞭發票,以後多注意
評分專業必備,活動價購入。
PostgreSQL修煉之道:從小工到專傢 mobi epub pdf txt 電子書 格式下載 2024