介紹一本有關 PostgreSQL 的書

PostgreSQL從我第一次接觸 PostgreSQL 至今已經進入第八個年頭了。記得八年前我最熟悉的資料庫是 Oracle 8.x 版,而當初為了學習在 Unix 安裝 Oracle,接觸了 Redhat,但在安裝好 Redhat 時,發現它預設安裝了一套我從來沒聽說過的資料庫管理系統,仔細上網查了一下,大吃一驚,原來 PostgreSQL 就是 Ingres 的前身,而且整個計劃從來沒有停止過。那時候我記得是 7.0 剛出來沒多久,正是 PostgreSQL 最大變革的一刻。於是我開始跌跌撞撞地學起這套,對我而言,「新」的資料庫管理系統。由於那時候市面上只有幾本相當粗淺的介紹性質的書籍,再加上 PostgreSQL 的開發小組一直致力於和標準 SQL 語法的相容性,以及一些新的資料庫引擎理論的採用,所以我一直是用 Oracle 和標準 SQL 的觀念來使用它。這並沒有什麼不對。但是心裏還是一直期盼能出現一本就市面上充斥的有關 Oracle 和 MS SQL Server 一樣,專門深入探討 PostgreSQL 這套強大資料庫管理系統的書籍。終於在大約三年多前,我發現了一本很不錯的英文書籍(Open source 相關的書籍中文書通常寫得很粗糙) ─ 由 Korry Douglas, Susan Douglas 兩位寫的 PostgreSQL,也就是我今天要介紹的這本書的前一版。

隔了兩年後,也就是 2005 年,在 PostgreSQL 釋出另一個革命性版本 ─ 8.0 版的前沒多久,這本書由 Korry Douglas 獨自出版了 PostgreSQL, 2nd Edition,SAMS 出版,也就是照片中的這本書。因為這時候 8.0 版正好在 Beta 階段,所以這本書剛好把 8.0 版預計加入的功能也介紹了一下。

一般來說,市面上有關資料庫的書,十本裏有九本只有介紹最簡單的資料庫的使用,以及如何使用該資料庫來開發應用。這種書其實用不著看,因為由於 SQL 語言的標準化,只要會使用一套資料庫管理系統,其它像 ODBC、JDBC、Perl DBI、PHP 的開發方式,即使換了一套資料庫系統,使用上大多沒什麼太大的差距,差距只存在於該資料庫引擎對標準 SQL 的支援程度的差別而已,再來就是後端 store function/procedure 的語法差別而已,利用這些中介工具的差距其實不大,所以其實線上的說明文件即綽綽有餘。但是,系統調校、安全控管機制,以及權限管理架構,才是整個資料庫應用的效能與可靠性、安全性的重點。但是市面上大多的書籍的作者或許本身對這些資料庫管理系統內部都不夠了解,更別說把這些 topic 寫入書中。而這本書就是我找了半天的深入探討這些有關 PostgreSQL 內部的書籍。如果有朋友們對於學習 PostgreSQL 有興趣,我強烈推薦您把這本書(一共 1032 頁)好好讀一遍。