注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡數(shù)據(jù)庫PostgreSQL即學即用(第3版)

PostgreSQL即學即用(第3版)

PostgreSQL即學即用(第3版)

定 價:¥79.00

作 者: [美] 瑞金娜·奧貝(Regina Obe),利奧·徐(Leo Hsu) 著,丁奇鵬 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115499660 出版時間: 2018-11-01 包裝: 平裝
開本: 16開 頁數(shù): 242 字數(shù):  

內(nèi)容簡介

  本書將幫助你理解和使用 PostgreSQL 這一開源數(shù)據(jù)庫系統(tǒng)。主要介紹 PostgreSQL 9.5、PostgreSQL 9.6 以及 PostgreSQL 10 的核心概念和功能特性,但也會涉及之前版本中一些獨特的高級特性。你會發(fā)現(xiàn) PostgreSQL 不只是個數(shù)據(jù)庫系統(tǒng),也是一個出色的應用平臺。本書通過示例展示了如何實現(xiàn)在其他數(shù)據(jù)庫中難以或不能完成的任務。

作者簡介

  瑞金娜·奧貝(Regina Obe)是數(shù)據(jù)庫咨詢公司Paragon的負責人之一,在多種編程語言和數(shù)據(jù)庫系統(tǒng)上有20多年的從業(yè)經(jīng)驗。她是PostGIS項目指導委員會成員,也是PostGIS核心開發(fā)團隊的成員,還參與pgRouting和GEOS開發(fā)。利奧·徐(Leo Hsu)也是Paragon公司的負責人之一,曾為大大小小的組織開發(fā)過數(shù)據(jù)庫,有20多年的從業(yè)經(jīng)驗。

圖書目錄

前言   xiii
第 1 章 基礎知識   1
1.1 為什么應該選擇PostgreSQL   1
1.2 不適用PostgreSQL 的場景   3
1.3 如何獲得PostgreSQL   3
1.4 管理工具   4
1.4.1 psql   4
1.4.2 pgAdmin   4
1.4.3 phpPgAdmin   6
1.4.4 Adminer   6
1.5 PostgreSQL 數(shù)據(jù)庫對象   7
1.6 最新版本的PostgreSQL 中引入的新特性   12
1.6.1 為什么要升級   12
1.6.2 PostgreSQL 10 中引入的新特性   12
1.6.3 PostgreSQL 9.6 中引入的新特性   13
1.6.4 PostgreSQL 9.5 中引入的新特性   14
1.6.5 PostgreSQL 9.4 中引入的新特性   15
1.7 數(shù)據(jù)庫驅動程序   17
1.8 如何獲得幫助   18
1.9 PostgreSQL 的主要衍生版本   18
第 2 章 數(shù)據(jù)庫管理   19
2.1 配置文件   19
2.1.1 讓配置文件生效   20
2.1.2 postgresql.conf   21
2.1.3 pg_hba.conf  25
2.2 連接管理   27
2.3 角色   29
2.3.1 創(chuàng)建可登錄角色   30
2.3.2 創(chuàng)建組角色   30
2.4 創(chuàng)建database   33
2.4.1 模板數(shù)據(jù)庫   33
2.4.2 schema 的使用   34
2.5 權限管理   36
2.5.1 權限的類型   36
2.5.2 入門介紹   36
2.5.3 GRANT   37
2.5.4 默認權限   38
2.5.5 PostgreSQL 權限體系中一些與眾不同的特點   39
2.6 擴展包機制   39
2.6.1 擴展包的安裝   40
2.6.2 通用擴展包   42
2.7 備份與恢復   44
2.7.1 使用pg_dump 進行有選擇性的備份   45
2.7.2 使用pg_dumpall 進行全局備份   46
2.7.3 數(shù)據(jù)恢復   47
2.8 基于表空間機制進行存儲管理   48
2.8.1 表空間的創(chuàng)建   49
2.8.2 在表空間之間遷移對象   49
2.9 禁止的行為   49
2.9.1 切記不要刪除PostgreSQL 系統(tǒng)文件   50
2.9.2 不要把操作系統(tǒng)管理員權限授予PostgreSQL 的系統(tǒng)賬號   50
2.9.3 不要把shared_buffers 緩存區(qū)設置得過大   51
2.9.4 不要將PostgreSQL 服務器的偵聽端口設為一個已被其他程序占用的端口   51
第3 章 psql 工具   52
3.1 環(huán)境變量   52
3.2 psql 的兩種操作模式:交互模式與非交互模式    53
3.3 定制psql 操作環(huán)境   54
3.3.1 自定義psql 界面提示符   55
3.3.2 語句執(zhí)行時間統(tǒng)計   56
3.3.3 事務自動提交   56
3.3.4 命令別名   56
3.3.5 取出前面執(zhí)行過的命令行   57
3.4 psql 使用技巧   57
3.4.1 執(zhí)行shell 命令   57
3.4.2 用watch 命令重復執(zhí)行語句   57
3.4.3 顯示對象信息   58
3.4.4 行轉列視圖   59
3.4.5 執(zhí)行動態(tài)SQL   59
3.5 使用psql 實現(xiàn)數(shù)據(jù)的導入和導出   60
3.5.1 使用psql 進行數(shù)據(jù)導入   60
3.5.2 使用psql 進行數(shù)據(jù)導出   61
3.5.3 從外部程序復制數(shù)據(jù)以及將數(shù)據(jù)復制到外部程序   62
3.6 使用psql 制作簡單的報表   62
第4 章 pgAdmin 的使用  65
4.1 pgAdmin 入門   65
4.1.1 功能概覽   66
4.1.2 如何連接到PostgreSQL 服務器   67
4.1.3 pgAdmin 界面導航   68
4.2 pgAdmin 功能特性介紹   68
4.2.1 根據(jù)表定義自動生成SQL 語句   69
4.2.2 在pgAdmin3 中調(diào)用psql   69
4.2.3 在pgAdmin3 中編輯postgresql.conf 和pg_hba.conf 文件   70
4.2.4 創(chuàng)建數(shù)據(jù)庫對象并設置權限   70
4.2.5 數(shù)據(jù)導入和導出   73
4.2.6 備份與恢復   74
4.3 pgScript 腳本機制   78
4.4 以圖形化方式解釋執(zhí)行計劃   80
4.5 使用pgAgent 執(zhí)行定時任務   81
4.5.1 安裝pgAgent   81
4.5.2 規(guī)劃定時任務   82
4.5.3 一些有用的pgAgent 相關查詢語句   84
第5 章 數(shù)據(jù)類型   85
5.1 數(shù)值類型   85
5.1.1 serial 類型   85
5.1.2 生成數(shù)組序列的函數(shù)   86
5.2 文本類型   87
5.2.1 字符串函數(shù)   87
5.2.2 將字符串拆分為數(shù)組、表或者子字符串   88
5.2.3 正則表達式和模式匹配   89
5.3 時間類型   90
5.3.1 時區(qū)詳解   92
5.3.2 日期時間類型的運算符和函數(shù)   93
5.4 數(shù)組類型   95
5.4.1 數(shù)組構造函數(shù)   96
5.4.2 將數(shù)組元素展開為記錄行   97
5.4.3 數(shù)組的拆分與連接   98
5.4.4 引用數(shù)組中的元素   99
5.4.5 數(shù)組包含性檢查   99
5.5 區(qū)間類型   100
5.5.1 離散區(qū)間和連續(xù)區(qū)間   100
5.5.2 原生支持的區(qū)間類型   100
5.5.3 定義區(qū)間的方法   101
5.5.4 定義含區(qū)間類型字段的表   102
5.5.5 適用于區(qū)間類型的運算符   102
5.6 JSON 數(shù)據(jù)類型   103
5.6.1 插入JSON 數(shù)據(jù)   103
5.6.2 查詢JSON 數(shù)據(jù)   104
5.6.3 輸出JSON 數(shù)據(jù)   105
5.6.4 JSON 類型的二進制版本:jsonb   106
5.6.5 編輯JSONB 類型的數(shù)據(jù)   108
5.7 XML 數(shù)據(jù)類型   109
5.7.1 插入XML 數(shù)據(jù)  110
5.7.2 查詢XML 數(shù)據(jù)  110
5.8 全文檢索   112
5.8.1 FTS 配置庫  113
5.8.2 TSVector 原始文本向量   115
5.8.3 TSQueries 檢索條件向量   117
5.8.4 使用全文檢索   119
5.8.5 對檢索結果進行排序   120
5.8.6 全文檢索向量信息的裁減   121
5.8.7 全文檢索機制對JSON 和JSONB 數(shù)據(jù)類型的支持   122
5.9 自定義數(shù)據(jù)類型和復合數(shù)據(jù)類型   122
5.9.1 所有表都有一個對應的自定義數(shù)據(jù)類型   123
5.9.2 構建自定義數(shù)據(jù)類型   124
5.9.3 復合類型中的空值處理   124
5.9.4 為自定義數(shù)據(jù)類型構建運算符和函數(shù)   125
第6 章 表、約束和索引   126
6.1 表   126
6.1.1 基本的建表操作   126
6.1.2 繼承表   128
6.1.3 原生分區(qū)表支持   128
6.1.4 無日志表   130
6.1.5 TYPE OF   131
6.2 約束機制   132
6.2.1 外鍵約束   132
6.2.2 唯一性約束   133
6.2.3 check 約束   133
6.2.4 排他性約束   133
6.3 索引   134
6.3.1 PostgreSQL 原生支持的索引類型   135
6.3.2 運算符類   137
6.3.3 函數(shù)索引   138
6.3.4 基于部分記錄的索引   138
6.3.5 多列索引   140
第7 章 PostgreSQL 的特色SQL 語法   141
7.1 視圖   141
7.1.1 單表視圖   142
7.1.2 使用觸發(fā)器來更新視圖   143
7.1.3 物化視圖   145
7.2 靈活易用的PostgreSQL 專有SQL 語法   146
7.2.1 DISTINCT ON   147
7.2.2 LIMIT 和OFFSET 關鍵字   147
7.2.3 簡化的類型轉換語法   148
7.2.4 一次性插入多條記錄   148
7.2.5 使用ILIKE 實現(xiàn)不區(qū)分大小寫的查詢   148
7.2.6 使用ANY 運算符進行數(shù)組搜索   149
7.2.7 可以返回結果集的函數(shù)   149
7.2.8 限制對繼承表的DELETE、UPDATE、INSERT 操作的影響范圍   150
7.2.9 DELETE USING 語法   150
7.2.10 將修改影響到的記錄行返回給用戶   150
7.2.11 UPSERT:INSERT 時如果主鍵沖突則進行UPDATE   151
7.2.12 在查詢中使用復合數(shù)據(jù)類型   152
7.2.13 使用$ 文本引用符   153
7.2.14 DO   154
7.2.15 適用于聚合操作的FILTER 子句   155
7.2.16 查詢百分位數(shù)與最高出現(xiàn)頻率數(shù)   157
7.3 窗口函數(shù)   158
7.3.1 PARTITION BY 子句   159
7.3.2 ORDER BY 子句   160
7.4 CTE 表達式   162
7.4.1 基本CTE 用法介紹   162
7.4.2 可寫CTE 用法介紹   163
7.4.3 遞歸CTE 用法介紹   163
7.5 LATERAL 橫向關聯(lián)語法   165
7.6 WITH ORDINALITY 子句   166
7.7 GROUPING SETS、CUBE 和ROLLUP 語法   168
第8 章 函數(shù)編寫   171
8.1 PostgreSQL 函數(shù)功能剖析   171
8.1.1 函數(shù)功能基礎知識介紹   171
8.1.2 觸發(fā)器和觸發(fā)器函數(shù)   174
8.1.3 聚合操作   175
8.1.4 受信與非受信語言   176
8.2 使用SQL 語言來編寫函數(shù)   177
8.2.1 編寫基本的SQL 函數(shù)   177
8.2.2 使用SQL 語言編寫聚合函數(shù)   179
8.3 使用PL/pgSQL 語言編寫函數(shù)  181
8.3.1 編寫基礎的PL/pgSQL 函數(shù)   181
8.3.2 使用PL/pgSQL 編寫觸發(fā)器函數(shù)   181
8.4 使用PL/Python 語言編寫函數(shù)   182
8.5 使用PL/V8、PL/CoffeeScript 以及PL/LiveScript 語言來編寫函數(shù)   184
8.5.1 編寫基本的函數(shù)   185
8.5.2 使用PL/V8 來編寫聚合函數(shù)   186
8.5.3 使用PL/V8 編寫窗口函數(shù)   187
第9 章 查詢性能調(diào)優(yōu)   190
9.1 通過EXPLAIN 命令查看語句執(zhí)行計劃   190
9.1.1 EXPLAIN 選項   190
9.1.2 運行示例以及輸出內(nèi)容解釋   191
9.1.3 圖形化展示執(zhí)行計劃   193
9.2 搜集語句的執(zhí)行統(tǒng)計信息   195
9.3 編寫更好的SQL 語句   196
9.3.1 在SELECT 語句中濫用子查詢   196
9.3.2 盡量避免使用SELECT * 語法   198
9.3.3 善用CASE 語法   199
9.3.4 使用Filter 語法替代CASE 語法   200
9.4 并行化語句執(zhí)行   201
9.4.1 并行化的執(zhí)行計劃是什么樣子   201
9.4.2 并行化掃描   204
9.4.3 并行化關聯(lián)操作   205
9.5 人工干預規(guī)劃器生成執(zhí)行計劃的過程   205
9.5.1 策略設置   205
9.5.2 你的索引被用到了嗎   206
9.5.3 表的統(tǒng)計信息   207
9.5.4 磁盤頁的隨機訪問成本以及磁盤驅動器的性能   209
9.6 數(shù)據(jù)緩存機制   209
第 10 章 復制與外部數(shù)據(jù)   211
10.1 復制功能概覽   211
10.1.1 復制功能涉及的術語   212
10.1.2 復制機制的演進   214
10.1.3 第三方復制解決方案   214
10.2 復制環(huán)境的搭建   215
10.2.1 主服務器的配置   215
10.2.2 為從屬服務器配置全量復制環(huán)境   216
10.2.3 啟動流復制進程   217
10.2.4 使用邏輯復制實現(xiàn)部分表或者部分database 的復制   218
10.3 外部數(shù)據(jù)封裝器   219
10.3.1 查詢平面文件   220
10.3.2 以不規(guī)則數(shù)組的形式查詢不規(guī)范的平面文件   220
10.3.3 查詢其他PostgreSQL 服務實例上的數(shù)據(jù)   222
10.3.4 使用ogr_fdw 查詢其他二維表形式的數(shù)據(jù)源   224
10.3.5 查詢非傳統(tǒng)數(shù)據(jù)源   226
附錄A PostgreSQL 的安裝   228
附錄B PostgreSQL 自帶的命令行工具   233
作者簡介   242
封面介紹   242

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號