天天看點

PostgreSQL修煉之道:從小工到專家. 導讀

<b> </b>

<b>資料庫技術叢書</b>

<b>postgresql修煉之道:從小工到專家</b>

<b>為什麼要寫這本書</b>

postgresql資料庫是目前功能最強大的開源資料庫,它基本包含了其他所有商業或開源的資料庫中能找到的功能,甚至還包含了一些商業資料庫中沒有的功能。它是最接近工業标準sql92的查詢語言,并且正在實作新的功能以相容最新的sql标準:sql2003。postgresql也獲得數個獎項,曾三次被評為linux journal雜志編輯評選的“最佳資料庫獎”(2000年、2003年和2004年),并獲2004年度的linux新媒體最佳資料庫系統獎。

postgresql目前在國外很流行,特别是近兩年,使用postgresql資料庫的公司越來越多,如提供網絡電話功能的skype和著名的圖檔分享網站instagram。2012年,美國聯邦機構全面轉向postgresql陣營;法國也正推動政府機構積極采用postgresql資料庫取代商業資料庫;世界最大的crm軟體服務提供商salesforce同樣開始大量使用 postgresql。在db-engine 釋出的曆年資料庫排名中,postgresql自從2013年3月上升到第四名後,一直穩定在第四名,排在很多知名的商業資料庫如db2、sybase之前,也排在所有nosql資料庫如cassandra、redis等之前。

雖然在國外使用postgresql 資料庫的人很多,但在國内,postgresql中文的學習資料并不多,是以我就想到寫一本關于postgresql的書,讓國内更多的人加入到學習postgresql資料庫的隊伍中來。

讀者對象

适合閱讀本書的使用者:

資料庫入門者。學習本書和相關的資料庫知識,可以讓一個對資料庫了解不是很深的資料庫愛好者成為資料庫專家。

非postgresql資料庫的dba。可以讓非postgresql的dba 快速掌握postgresql資料庫相關知識,成為一名合格的postgresql dba。

postgresql dba。本書的一些章節對熟悉postgresql資料庫的dba也有很大指導作用,可以使讀者的知識更充實。

開發人員。通過此書可以快速掌握postgresql資料庫方面的知識,提高開發人員的資料庫水準。

如何閱讀本書

本書分為四大部分,分别為準備篇、基礎篇、提高篇和第三方開源軟體及架構篇。準備篇是為沒有資料庫基礎的讀者準備的,如果你已經具備了一定的資料庫基礎,可以跳過其中的一些内容。基礎篇介紹了postgresql資料庫中的一些基礎内容,學完此篇可以完成基本的postgresql資料庫的日常操作。提高篇講解了一些更深的内容,如postgresql的一些技術内幕、特色功能、優化等方面的内容,仔細閱讀此篇可使你早日成為postgresql資料庫高手。第三方開源軟體及架構篇講解了與postgresql資料庫配套使用的一些常用的開源軟體及架構設計方面的内容,通過閱讀此篇,可以開闊大家的眼界,提高資料庫架構設計能力。

本書中有大量的例子,讀者邊閱讀此書邊按例子進行實際的操作,将獲得最佳的學習效果。

勘誤和支援

由于作者的水準有限,編寫的時間也很倉促,書中難免會出現一些錯誤或者不準确的地方,不妥之處懇請讀者批評指正。你可以将書中的錯誤,遇到的問題及寶貴意見發送郵件至我的郵箱[email protected],我很期待聽到你們的真摯回報。

緻謝

首先要感謝國内postgresql資料庫的愛好者,他們已經整理了很多postgresql的文章,翻譯了postgresql的官方手冊,讓我可以站在前人的肩膀上。大家可以在postgresql在中國的維基首頁http://www.pgsqldb.org/mwiki/index.php/上看到前人的成果。

感謝機械工業出版社華章公司的編輯楊繡國老師,感謝她一年多來始終支援我的寫作,她的鼓勵和幫助引導我能順利完成全部書稿。

最後要感謝我的妻子,她一直支援和鼓勵我,讓我能堅持把這本書寫完。

謹以此書,獻給衆多熱愛postgresql的朋友們。

唐成(osdba)

中國,杭州,2015年1月

第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