PostgreSQL服務器編程

PostgreSQL服務器編程 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:Hannu Krosing
出品人:
頁數:245
译者:戚長鬆
出版時間:2014-10-1
價格:49
裝幀:平裝
isbn號碼:9787111480570
叢書系列:數據庫技術叢書
圖書標籤:
  • 數據庫
  • PostgreSQL
  • 計算機
  • 服務器
  • 互聯網
  • IT
  • PostgreSQL
  • 數據庫
  • 服務器
  • 編程
  • C語言
  • SQL
  • 擴展
  • 開發
  • 後端
  • 數據管理
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書將帶你學習PostgreSQL函數的基礎部分。在學習過程中,你將會使用各種程序語言(不限於自帶的PL/pgSQL語言)進行函數的編寫。你會看到我們是如何創建可用的庫文件,如何將這些庫文件組裝成更有用的組件,並把這些組件分發到社區中;你也會看到我們是如何從大量的外部數據源中抽取數據,並通過擴展PostgreSQL完成數據的本地化抽取;同時,你也可以在以上過程中使用一個超級棒的調試界麵,這個調試界麵可以讓你在整個學習過程中變得更加得心應手、事半功倍。

著者簡介

作者簡介:

Hannu Kosing Skype公司第一位數據庫管理員與數據庫架構師。2006年離開Skype之後,他成為2ndQuadrant公司的首席PostgreSQL谘詢顧問,足跡遍布全球各地。Hannu自1995年開始使用PostgreSQL,有近20年的PostgreSQL實戰經驗。

Jim Mlodgenski OpenSCG公司CTO,OpenSCG是一傢專注於開源技術的專業服務公司。他還曾是StormDB的CEO,StormDB是一傢緻力於水平擴展的雲數據庫公司。在加入StormDB之前,Jim是Cirrus Technology、EnterpriseDB和Fusion Technology等公司的資深研發工程師。Jim非常擁護PostgreSQL,他是美國PostgreSQL協會的董事會成員,同時也是紐約PostgreSQL用戶組和費城PostgreSQL用戶組的重要成員。

Kirk Roybal 從1998年開始就活躍於PostgreSQL社區。他幫助建立瞭休斯敦、達拉斯、伯明頓等地區的PostgreSQL用戶組。他在報告係統、商業智能、數據倉庫、應用程序開發等領域均提供瞭優秀的PostgreSQL解決方案。

譯者簡介

戚長鬆 擁有浙江大學機械工程碩士學位,專注於企業數據庫開發與基於數據庫的應用程序設計,擁有近10年的數據庫開發經驗及5年的PostgreSQL實戰經驗,擅長基於PostgreSQL平颱進行數據倉庫建模與數據挖掘。

圖書目錄

目  錄
前 言
第1章 PostgreSQL服務器簡介 1
1.1 為什麼在服務器中進行程序設計 2
1.2 關於本書的代碼示例 5
1.3 超越簡單函數 7
1.4 使用觸發器管理相關數據 8
1.5 審核更改 11
1.6 數據清洗 16
1.7 定製排序方法 17
1.8 程序設計最佳實踐 18
1.8.1 KISS——盡量簡單(keep it simple stupid) 18
1.8.2 DRY——不要寫重復的代碼(don’t repeat yourself) 19
1.8.3 YAGNI——你並不需要它(you ain’t gonna need it) 19
1.8.4 SOA——服務導嚮架構(service-oriented architecture) 19
1.8.5 類型的擴展 20
1.9 關於緩存 21
1.10 總結——為什麼在服務器中進行程序設計 21
1.10.1 性能 21
1.10.2 易於維護 22
1.10.3 保證安全的簡單方法 22
1.11 小結 22
第2章 服務器程序設計環境 24
2.1 購置成本 25
2.2 開發者的可用性 26
2.3 許可證書 26
2.4 可預測性 27
2.5 社區 28
2.6 過程化語言 28
2.6.1 平颱兼容性 29
2.6.2 應用程序設計 30
2.6.3 更多基礎 32
2.7 小結 35
第3章 第一個PL/pgSQL函數 36
3.1 為什麼是PL / pgSQL 36
3.2 PL/pgSQL函數的結構 37
3.3 條件錶達式 39
3.3.1 通過計數器循環 43
3.3.2 對查詢結果進行循環 45
3.3.3 PERFORM與SELECT 47
3.4 返迴記錄 47
3.5 處理函數結果 50
3.6 結論 51
第4章 返迴結構化數據 52
4.1 集閤與數組 52
4.2 返迴集閤 53
4.3 使用返迴集閤的函數 54
4.4 基於視圖的函數 56
4.5 OUT參數與記錄集 59
4.5.1 OUT參數 59
4.5.2 返迴記錄集 60
4.5.3 使用RETURNS TABLE 61
4.5.4 不返迴預定義結構 62
4.5.5 返迴SETOF ANY 63
4.5.6 可變參數列錶 65
4.6 RETURN SETOF變量總結 66
4.7 返迴遊標 66
4.7.1 對從另一個函數中返迴的遊標進行迭代處理 68
4.7.2 函數返迴遊標(多個遊標)的小結 69
4.8 處理結構化數據的其他方法 69
4.8.1 現代復雜數據類型——XML和JSON 69
4.8.2 XML數據類型和從函數中返迴XML數據 70
4.8.3 以JSON格式返迴數據 72
4.9 小結 74
第5章 PL/pgSQL觸發器函數 75
5.1 創建觸發器函數 75
5.2 簡單的“嘿,我被調用瞭”觸發器 76
5.3 審核觸發器 79
5.4 無效的DELETE 81
5.5 無效的TRUNCATE 83
5.6 修改NEW記錄 83
5.7 不可改變的字段觸發器 84
5.8 當觸發器被調用時的控製策略 85
5.8.1 有條件的觸發器 86
5.8.2 在特定字段變化的觸發器 87
5.9 可視化 87
5.10 傳遞給PL/pgSQL TRIGGER函數的變量 88
5.11 小結 88
第6章 PL/pgSQL調試 90
6.1 使用RAISE NOTICE進行“手動”調試 91
6.1.1 拋齣異常 92
6.1.2 文件日誌 94
6.2 可視化調試 95
6.2.1 安裝調試器 96
6.2.2 安裝pgAdmin3 96
6.2.3 使用調試器 96
6.3 小結 98
第7章 使用無限製的開發語言 99
7.1 不受信任的語言是否比受信任的語言差 99
7.2 不受信任的語言是否會拖垮數據庫 100
7.3 為什麼不受信任 100
7.4 PL/Python快速介紹 101
7.4.1 最小的PL/Python函數 101
7.4.2 數據類型轉換 102
7.4.3 使用PL/Python編寫簡單函數 103
7.4.4 在數據庫中運行查詢 106
7.4.5 使用PL/Python編寫觸發器函數 108
7.4.6 構建查詢 113
7.4.7 處理異常 113
7.4.8 Python中的原子性 115
7.4.9 PL/Python調試 116
7.5 跳齣“SQL 數據庫服務器”的限製進行思考 119
7.5.1 在保存圖像時生成縮略圖 119
7.5.2 發送一封電子郵件 120
7.6 小結 121
第8章 使用C編寫高級函數 122
8.1 最簡單的C函數——返迴(a+b) 123
8.1.1 add_func.c 123
8.1.2 Makefile 125
8.1.3 創建add(int,int)函數 126
8.1.4 add_func.sql.in 126
8.1.5 關於寫C函數的總結 127
8.2 為add(int, int)添加功能 127
8.2.1 NULL參數的智能處理 128
8.2.2 與任何數量的參數一起運作 129
8.3 C函數編寫的基礎指南 134
8.4 來自C函數的錯誤報告 136
8.4.1 並非錯誤的“錯誤”狀態 136
8.4.2 消息何時被發送到客戶端 137
8.5 運行查詢與調用PostgreSQL函數 137
8.5.1 使用SPI的示例C函數 138
8.5.2 數據更改的可見性 139
8.5.3 SPI_*函數的更多相關信息 140
8.6 將記錄集作為參數或返迴值處理 140
8.6.1 返迴復雜類型的單個元組 141
8.6.2 從參數元組中提取字段 143
8.6.3 構建一個返迴元組 143
8.6.4 插麯——什麼是Datum 144
8.6.5 返迴一個記錄集 144
8.7 快速獲取數據庫變更 147
8.8 在提交/迴滾時處理情況 148
8.9 在後端間進行同步 148
8.10 C語言的額外資源 149
8.11 小結 149
第9章 使用PL/Proxy擴展數據庫 151
9.1 簡單的單服務器通話 151
9.2 處理跨多數據庫的成功分錶 157
9.2.1 什麼擴展計劃有用和什麼時候有用 158
9.2.2 跨多服務器的數據分區 158
9.2.3 PL/Proxy——分區語言 162
9.2.4 從單數據庫移動數據到分區的數據庫 168
9.3 小結 169
第10章 發布自己的PostgreSQL擴展程序 170
10.1 什麼時候創建擴展程序 170
10.2 未封裝的擴展程序 171
10.3 擴展程序版本 172
10.4 .control文件 173
10.5 構建擴展程序 173
10.6 安裝擴展程序 174
10.7 發布擴展程序 175
10.7.1 關於PostgreSQL Extension Network的簡介 175
10.7.2 注冊以發布擴展程序 176
10.7.3 創建擴展項目的簡單方法 178
10.7.4 提供擴展程序的相關元數據 179
10.7.5 編寫擴展代碼 182
10.7.6 創建程序包 183
10.7.7 嚮PGXN提交程序包 183
10.8 安裝PGXN上的擴展程序 185
10.9 小結 185
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

2020.07 pdf閱讀 本書並沒有從基礎(例如:create function怎麼寫,賦值語句,條件判斷,循環)講起,直接討論難點。 翻譯方麵,大部分挺通順。偶爾有一句話邏輯不通(例如 page133 “這個是C記憶” “它甚至能查探齣多維度數組,如果它隻傳遞瞭一個維度,它還能報錯:hannu=# select add_arr('{{1,2,3},{4,5,6}}'); ERROR: 1-dimensional array needed”[本語的含義是函數隻接受一維的參數] page159 “為瞭將這些更改毫無保留地告知數據庫客戶端”[我個人理解是“這些更改對於數據庫客戶端是透明的”]) pg在function方麵的功能,比oracle復雜。會不會部分功能/特性 是重復、多餘的?

评分

好薄啊,沒有體現結構的講.好亂

评分

在係統化學習一遍,80%的章節已讀,剩餘的可以在實戰中做工具書翻看

评分

json類型挺好用的。postgresql很大程度上可以當成一個數據庫操作的API,在數據庫上寫些函數用來減少多端開發的數據庫操作的代碼。

评分

json類型挺好用的。postgresql很大程度上可以當成一個數據庫操作的API,在數據庫上寫些函數用來減少多端開發的數據庫操作的代碼。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有