PostgreSQL 7.3 使用者手冊

PostgreSQL 全球開發組


Table of Contents
前言
1. 何為 PostgreSQL
2. 簡單回顧 PostgreSQL 的歷史
2.1. 伯克利的 POSTGRES 項目
2.2. Postgres95
2.3. PostgreSQL
3. 本書講什麼?
4. 文件資源概述
5. 術語和概念
6. 問題匯報指導
6.1. 標識臭虫
6.2. 匯報什麼
6.3. 到哪裡匯報臭虫
1. SQL 語法
1.1. 詞法結構
1.1.1. 標識符和關鍵字
1.1.2. 常數
1.1.3. 運算子
1.1.4. 特殊字元
1.1.5. 註釋
1.1.6. 詞法優先級
1.2. 值表達式
1.2.1. 欄位參照
1.2.2. 位置參數
1.2.3. 運算子調用
1.2.4. 函數調用
1.2.5. 統計表達式
1.2.6. 類型轉換
1.2.7. 標量幾查詢
1.2.8. 表達式計算
2. 資料定義
2.1. 表的基本概念
2.2. 系統欄位
2.3. 預設值
2.4. 約束
2.4.1. 檢查約束
2.4.2. 非空約束
2.4.3. 唯一約束
2.4.4. 主鍵
2.4.5. 外鍵
2.5. 繼承
2.6. 修改表
2.6.1. 增加欄位
2.6.2. 刪除欄位
2.6.3. 增加約束
2.6.4. 刪除約束
2.6.5. 改變預設值
2.6.6. 給欄位改名字
2.6.7. 給表改名字
2.7. 權限
2.8. 樣式
2.8.1. 建立一個樣式
2.8.2. Public 樣式
2.8.3. 樣式搜尋路徑
2.8.4. 樣式和權限
2.8.5. 系統表樣式
2.8.6. 使用方式
2.8.7. 移植性
2.9. 其它資料庫物件
2.10. 依賴性追蹤
3. 資料操作
3.1. 插入資料
3.2. 更新資料
3.3. 刪除資料
4. 查詢
4.1. 概述
4.2. 表表達式
4.2.1. FROM 幾句
4.2.2. WHERE 幾句
4.2.3. GROUP BY 和 HAVING 幾句
4.3. 選擇清單
4.3.1. 選擇清單項
4.3.2. 列標簽
4.3.3. DISTINCT
4.4. 組合查詢
4.5. 行排序
4.6. LIMIT 和 OFFSET
5. 資料類型
5.1. 數值類型
5.1.1. 整數類型
5.1.2. 任意精度資料
5.1.3. 浮點數類型
5.1.4. Serial(序列)類型
5.2. 貨幣類型
5.3. 字元類型
5.4. 二進位字串
5.5. 日期/時間類型
5.5.1. 日期/時間輸入
5.5.2. 日期/時間輸出
5.5.3. 時區
5.5.4. 內部
5.6. 布林類型
5.7. 幾何類型
5.7.1. Point(點)
5.7.2. 線段
5.7.3. Box(方)
5.7.4. Path(路徑)
5.7.5. Polygon(多邊形)
5.7.6. Circle(圓)
5.8. 網路位址資料類型
5.8.1. inet
5.8.2. cidr
5.8.3. inetcidr 對比
5.8.4. macaddr
5.9. 位串類型
5.10. 物件標識符類型
5.11. 偽類型
5.12. 陣列
6. 函數和運算子
6.1. 邏輯運算子
6.2. 比較運算子
6.3. 數學函數和運算子
6.4. 字串函數和運算子
6.5. 二進位字串函數和運算子
6.6. 樣式相符
6.6.1. LIKE
6.6.2. SIMILAR TOSQL99 正則表達式
6.6.3. POSIX 正則表達式
6.7. 資料類型格式化函數
6.8. 時間/日期函數和運算子
6.8.1. EXTRACTdate_part
6.8.2. date_trunc
6.8.3. AT TIME ZONE
6.8.4. 目前日期/時間
6.9. 幾何函數和運算子
6.10. 網路位址類型函數
6.11. 序列操作函數
6.12. 條件表達式
6.12.1. CASE
6.12.2. COALESCE
6.12.3. NULLIF
6.13. 雜項函數
6.14. 統計函數
6.15. 幾查詢表達式
6.15.1. EXISTS
6.15.2. IN (標量形式)
6.15.3. IN (幾查詢形式)
6.15.4. NOT IN (標量形式)
6.15.5. NOT IN (幾查詢形式)
6.15.6. ANY/SOME
6.15.7. ALL
6.15.8. 逐行比較
7. 類型轉換
7.1. 概述
7.2. 運算子
7.3. 函數
7.4. 查詢目標
7.5. UNIONCASE構造
8. 索引
8.1. 介紹
8.2. 索引類型
8.3. 多欄位索引
8.4. 唯一索引
8.5. 函數索引
8.6. 運算子表
8.7. 部分索引
8.8. 檢查索引的使用
9. 並發控制
9.1. 介紹
9.2. 事務隔離
9.2.1. 讀已提交隔離級別
9.2.2. 可串行化隔離級別
9.3. 明確鎖定
9.3.1. 表級鎖
9.3.2. 行級鎖
9.3.3. 死鎖
9.4. 應用層的資料完整性檢查
9.5. 鎖和索引
10. 性能提升技巧
10.1. 使用 EXPLAIN
10.2. 規劃器使用的統計資訊
10.3. 用明確的 JOIN (連線)控制規劃器
10.4. 向資料庫中加入記錄
10.4.1. 關閉自動提交
10.4.2. 使用 COPY FROM
10.4.3. 刪除索引
10.4.4. 事後運行 ANALYZE
A. 日期/時間支援
A.1. 日期/時間輸入解析
A.2. 日期/時間關鍵字
A.3. 日期單位的歷史
B. SQL 關鍵字
C. SQL 兼容性
C.1. 支援的特性
C.2. 不支援的特性
參考書目
List of Tables
1-1. 運算子優先級(遞減)
5-1. 資料類型
5-2. 數值類型
5-3. 貨幣類型
5-4. 字元類型
5-5. 特殊字元類型
5-6. 二進位字串類型
5-7. bytea 純文字逃逸八進制
5-8. bytea 輸出逃逸序列
5-9. 日期/時間類型
5-10. 日期輸入
5-11. 時間輸入
5-12. time with time zone 輸入
5-13. 時區輸入
5-14. 特殊日期/時間輸入
5-15. 日期/時間輸出風格
5-16. 日期順序習慣
5-17. 幾何類型
5-18. 網路位址資料類型
5-19. cidr 類型輸入舉例
5-20. 物件標識類型
5-21. Pseudo-Types
6-1. 比較運算子
6-2. 數學運算子
6-3. 位串二進位運算子
6-4. 數學函數
6-5. 三角函數
6-6. SQL 字串函數和運算子
6-7. 其他函數
6-8. 內建的轉換
6-9. SQL 二進位字串函數和運算子
6-10. 其它二進位字串函數
6-11. 正則表達式相符運算子
6-12. 格式化函數
6-13. 用於 date/time 轉換的模板
6-14. 日期/時間轉換的模板樣式修飾詞
6-15. 用於向數值轉換的模板樣式
6-16. to_char 範例
6-17. 日期/時間操做符
6-18. 日期/時間函數
6-19. AT TIME ZONE 變體
6-20. 幾何函數和運算子
6-21. 幾何函數
6-22. 幾何類型轉換函數
6-23. cidrinet 運算子
6-24. cidrinet 函數
6-25. macaddr 函數
6-26. 序列函數
6-27. 會話資訊函數
6-28. 配置設定資訊函數
6-29. 存取權限查詢函數
6-30. 樣式可視性查詢函數
6-31. 表資訊函數
6-32. 註釋資訊函數
6-33. 統計函數
9-1. SQL 隔離級別
10-1. pg_stats欄位
A-1. 月份縮寫
A-2. 星期幾的縮寫
A-3. 日期/時間欄位修飾詞
A-4. 時區縮寫
A-5. 澳大利亞時區縮寫
B-1. SQL 關鍵字
List of Examples
5-1. 使用字元類型
5-2. 使用 boolean 類型
5-3. 使用位串類型
7-1. 指數運算子類型解析
7-2. 字串連線運算子類型分析
7-3. 絕對值和階乘類型分析
7-4. 階乘函數參數類型解析
7-5. 幾字串函數類型解析
7-6. character 儲存類型轉換
7-7. Union 中的待定類型
7-8. 簡單 Union 中的類型轉換
7-9. 轉換的 Union 中的類型轉換
8-1. 設定一個部分索引以排除普通數值
8-2. 設定一個部分索引以排除不感興趣的數值
8-3. 設定一個部分唯一索引