《PostgreSQL伺服器編程》是2014年機械工業出版社出版的圖書,作者是克洛斯、Kirk Roybal。
基本介紹
- 書名:PostgreSQL伺服器編程
- 作者:克洛斯、Kirk Roybal
- 出版社:機械工業出版社
- 出版時間:2014年10月1日
- 頁數:186 頁
- 開本:16 開
- ISBN:9787111480570
- 外文名:PostgreSQL Server Programming
- 類型:計算機與網際網路
- 語種:簡體中文
內容簡介,圖書目錄,作者簡介,
內容簡介
《PostgreSQL伺服器編程》將向你展示出PostgreSQL遠遠不止是一個資料庫伺服器。實際上,它是一個應用程式開發框架,這種框架的優勢在於其具備事務支持,大量數據存儲、日誌系統、恢復等功能,以及許多PostgreSQL引擎提供的優秀特性。《PostgreSQL伺服器編程》將帶你學習PostgreSQL函式的基礎部分。在學習過程中,你將會使用各種程式語言(不限於自帶的PL/pg5QL語言)進行函式的編寫。
圖書目錄
前言
第1章PostgreSQL伺服器簡介
1.1為什麼在伺服器中進行程式設計
1.2關於本書的代碼示例
1.3超越簡單函式
1.4使用觸發器管理相關數據
1.5審核更改
1.6數據清洗
1.7定製排序方法
1.8程式設計最佳實踐
1.8.1 KISS—儘量簡單(keepitsimplestupid)
1.8.2 DRY—不要寫重複的代碼(don't repeat yourself)
1.8.3 YAGNI—你並不需要它(you ain't gonna needit)
1.8.4 SOA—服務導向架構(service—oriented architecture)
1.8.5類型的擴展
1.9關於快取
1.10總結——為什麼在伺服器中進行程式設計
1.10.1性能
1.10.2易於維護
1.10.3保證安全的簡單方法
1.11小結
第2章伺服器程式設計環境
2.1購置成本
2.2開發者的可用性
2.3許可證書
2.4可預測性
2.5社區
2.6過程化語言
2.6.1平台兼容性
2.6.2應用程式設計
2.6.3更多基礎
2.7小結
第3章第—個PL/pgSQL函式
3.1為什麼是PL/pgSQL
3.2PL/pgSQL函式的結構
3.3條件表達式
3.3.1通過計數器循環
3.3.2對查詢結果進行循環
3.3.3PERFORM與SELECT
3.4返回記錄
3.5處理函式結果
3.6結論
第4章返回結構化數據
4.1集合與數組
4.2返回集合
4.3使用返回集合的函式
4.4基於視圖的函式
4.5OUT參數與記錄集
4.5.1OUT參數
4.5.2返回記錄集
4.5.3使用RETURNSTABLE
4.5.4不返回預定義結構
4.5.5返回SETOFANY
4.5.6可變參數列表
4.6RETURNSETOF變數總結
4.7返回遊標
4.7.1對從另一個函式中返回的游標進行疊代處理
4.7.2函式返回遊標(多個游標)的小結
4.8處理結構化數據的其他方法
4.8.1現代複雜數據類型——XML和JSON
4.8.2XML數據類型和從函式中返回XML數據
4.8.3以JSON格式返回數據
4.9小結
第5章PL/pgSQL觸發器函式
5.1創建觸發器函式
5.2簡單的“嘿,我被調用了”觸發器
5.3審核觸發器
5.4無效的DELETE
5.5無效的TRUNCATE
5.6修改NEW記錄
5.7不可改變的欄位觸發器
5.8當觸發器被調用時的控制策略
5.8.1有條件的觸發器
5.8.2在特定欄位變化的觸發器
5.9可視化
5.10傳遞給PL/pgSQLTRIGGER函式的變數
5.11小結
第6章PL/pgSQL調試
6.1使用RAISENOTICE進行“手動”調試
6.1.1拋出異常
6.1.2檔案日誌
6.2可視化調試
6.2.1安裝調試器
6.2.2安裝pgAdmin3
6.2.3使用調試器
6.3小結
第7章使用無限制的開發語言
7.1不受信任的語言是否比受信任的語言差
7.2不受信任的語言是否會拖垮資料庫
7.3為什麼不受信任
7.4PL/Python快速介紹
7.4.1最小的PL/Python函式
7.4.2數據類型轉換
7.4.3使用PL/Python編寫簡單函式
7.4.4在資料庫中運行查詢
7.4.5使用PL/Python編寫觸發器函式
7.4.6構建查詢
7.4.7處理異常
7.4.8Python中的原子性
7.4,9PL/Python調試
7.5跳出“SQL資料庫伺服器”的限制進行思考
7.5.1在保存圖像時生成縮略圖
7.5.2傳送一封電子郵件
7.6小結
第8章使用C編寫高級函式
8.1最簡單的C函式——返回(a+b)
8.1.1add_func.c
8.1.2Makefile
8.1.3創建add(int,int)函式
8.1.4add_func.sqlin
8.1.5關於寫C函式的總結
8.2為add(int,int)添加功能
8.2.1NULL參數的智慧型處理
8.2.2與任何數量的參數一起運作
8.3C函式編寫的基礎指南
8.4來自C函式的錯誤報告
8.4.1並非錯誤的“錯誤”狀態
8.4.2訊息何時被傳送到客戶端
8.5運行查詢與調用PostgreSQL函式
8.5.1使用SPI的示例C函式
8.5.2數據更改的可見性
8.5.3SPI*函式的更多相關信息
8.6將記錄集作為參數或返回值處理
8.6.1返回複雜類型的單個元組
8.6.2從參數元組中提取欄位
8.6.3構建一個返回元組
8.6.4插曲—什麼是Datum
8.6.5返回一個記錄集
8.7快速獲取資料庫變更
8.8在提交/回滾時處理情況
8.9在後端間進行同步
8.10C語言的額外資源
8.11小結
第9章使用PL/Proxy擴展資料庫
9.1簡單的單伺服器通話
9.2處理跨多資料庫的成功分表
9.2.1什麼擴展計畫有用和什麼時候有用
9.2.2跨多伺服器的數據分區
9.2.3PL/Proxy—分區語言
9.2.4從單資料庫移動數據到分區的資料庫
9.3小結
第10章發布自己的PostgreSQL擴展程式
10.1什麼時候創建擴展程式
10.2未封裝的擴展程式
10.3擴展程式版本
10.4.control檔案
10.5構建擴展程式
10.6安裝擴展程式
10.7發布擴展程式
10.7.1關於PostgreSQLExtensionNetwork的簡介
10.7.2註冊以發布擴展程式
10.7.3創建擴展項目的簡單方法
10.7.4提供擴展程式的相關元數據
10.7.5編寫擴展代碼
10.7.6創建程式包
10.7.7向PGXN提交程式包
10.8安裝PGXN上的擴展程式
10.9小結
作者簡介
作者:(美國)克洛斯(Hannu Krosing Skype) (美國)Kirk Roybal (美國)Jim Mlodgens 譯者:戚長松
克洛斯(Hannu Krosing Skype),公司第一位資料庫管理員與資料庫架構師。2006年離開Skype之後,他成為2ndQuadrant公司的首席PostgreSQL諮詢顧問,足跡遍布全球各地。Hannu自1995年開始使用PostgreSQL,有近20年的PostgreSQL實戰經驗。戚長松擁有浙江大學機械工程碩士學位,專注於企業資料庫開發與基於資料庫的應用程式設計,擁有近10年的資料庫開發經驗及5年的PostgreSQL實戰經驗,擅長基於PostgreSQL平台進行數據倉庫建模與數據挖掘。