PostgreSQL

The PostgreSQL Development Team

Edited by

Thomas Lockhart

PostgreSQLis Copyright ?1996-2000 by PostgreSQL Inc.

編譯:何偉平  laser@zhengmai.com.cn
繁體轉譯:沈俊興  statue@freebsd.sinica.edu.tw

中文譯稿版權聲明:

本文的中文譯稿版權屬於其中文譯稿作者。您可對本手冊進行非商業用途的自由傳播,但務必保証手冊的完整性,轉載時請保留本版權聲明。由於譯者水平有限,錯誤之處在所難免,希望各位用戶指正。由此帶來的一切後果,本人概不負責。


內容
摘要
I. 用戶手冊
1. 簡介
何為 Postgres
簡單回顧 Postgres
關於這個版本
資源
術語
符號
問題匯報指導
Y2K 聲明
版權和商標
2. SQL 語法
關鍵字
注釋
名稱
常數
域和列(字段)
符號
表達式
3. 數據型態
數值型態
貨幣型態
字符型態
日期/時間型態
布爾型態
幾何型態
IP 版本 4 網路和主機地址
4. 符號
語法優先順序
通用符號
數字符號
幾何符號
時間間隔符號
IP V4 CIDR 符號
IP V4 INET 符號
5. 函數
SQL 函數
數學函數
字符串函數
日期/時間函數
格式化函數
幾何函數
IP V4 函數
6. 型態轉換
概述
符號
函數
查詢目標
UNION 查詢
7. 索引和鍵字
鍵字
部分索引
8. 數組
9. 繼承
10. PL/pgSQL - SQL 程序語言
概述
描述
例子
11. PL/Tcl - TCL 程序語言
概述
描述
12. PL/perl - Perl 程序語言
概述
制作和安裝
使用 PL/Perl
13. 多版本並行控制
介紹
事務隔離
讀已提交隔離級別
可串行化隔離級別
鎖和表
鎖和索引
應用層的數據完整性檢查
14. 設置運行環境
15. 管理資料庫
創建資料庫
變換資料庫位置
訪問資料庫
刪除資料庫
16. 硬碟儲存
17. 理解性能
使用 EXPLAIN
18. 向資料庫添加記錄
關閉自動提交
使用 COPY FROM
刪除索引
19. SQL 命令
ABORT - 退出當前事務
ALTER GROUP - 向組中增加新用戶,從組中刪除用戶
ALTER TABLE - 修改表屬性
ALTER USER - 修改用戶帳戶資訊
BEGIN - 以鏈模式開始一個事務
CLOSE - 關閉一個游標
CLUSTER - 給伺服器儲存簇建議
COMMENT - 向一個對像增加評注
COMMIT - 提交當前事務
COPY - 在文件和表之間拷貝數據
CREATE AGGREGATE - 定義一個新的巨集函數
CREATE CONSTRAINT TRIGGER - 創建一個支援約束的觸發器
CREATE DATABASE - 創建一個新資料庫
CREATE FUNCTION - 定義一個新函數
CREATE GROUP - 創建一個新組
CREATE INDEX - 構造一個從索引
CREATE LANGUAGE - 為函數定義一門新語言
CREATE OPERATOR - 定義一個新的用戶符號
CREATE RULE - 定義一個新規則
CREATE SEQUENCE - 創建一個新的序列數產生器
CREATE TABLE - 創建一個新表
CREATE TABLE AS - 創建一個新表
CREATE TRIGGER - 創建一個新觸發器
CREATE TYPE - 定義一個新的基本數據型態
CREATE USER - 創建一個新的資料庫用戶
CREATE VIEW - 構造一個虛擬表
DECLARE - 定義一個訪問資料庫的游標
DELETE - 從表中刪除行
DROP AGGREGATE - 刪除一個巨集函數的定義
DROP DATABASE - 刪除一個現有的表
DROP FUNCTION - 刪除一個用戶定義的 C 函數
DROP GROUP - 刪除一個組
DROP INDEX - 從一個資料庫裡刪除一個索引
DROP LANGUAGE - 刪除一個用戶定義的程序語言
DROP OPERATOR - 從資料庫裡刪除一個符號
DROP RULE - 從資料庫裡刪除一個現有規則
DROP SEQUENCE - 刪除一個現存序列
DROP TABLE - 從一個資料庫裡刪除現存表
DROP TRIGGER -  刪除一個觸發器的定義
DROP TYPE - 從系統表裡面刪除一個用戶定義型態
DROP USER - 刪除一個用戶
DROP VIEW - 從資料庫裡刪除一個現存視圖
END - 提交當前事務
EXPLAIN - 顯示語句執行規劃
FETCH - 用一個游標獲取行
GRANT - 給一個用戶,一個組或者所有用戶賦予權限
INSERT - 向資料庫中插入新行
LISTEN -偵聽一個通知條件的響應
LOAD - 動態裝載一個對像文件
LOCK - 在一個事務內部顯式鎖定一個表
MOVE - 移動游標的位置
NOTIFY - 通知所有偵聽某一通知條件的後端和前端
REINDEX - 在單進程單用戶 Postgres 條件下恢復被破壞了的系統索引
RESET -為會話恢復預設的運行時參數
REVOKE -廢除一個用戶,一個組或者所有用戶的訪問權限
ROLLBACK - 退出當前的事務
SELECT -從一個表或者視圖裡檢索行
SELECT INTO - 從一個現有的表或者視圖裡創建新表
SET - 為會話設置運行時參數
SHOW - 為會話顯示運行時參數
TRUNCATE - 清空一個表
UNLISTEN - 停止通知條件的偵聽
UPDATE - 調換一個表裡某行的字段的值
VACUUM - 清理和分析一個 Postgres 資料庫
20. 應用
createdb - 創建一個新的 Postgres 資料庫
createlang - 向一個 Postgres 資料庫裡增加一門新的編程語言
createuser - 創建一個新的 Postgres 用戶
dropdb - 刪除一個現存 Postgres 資料庫
droplang - 從一個 Postgres 資料庫裡刪除一門編程語言
dropuser - 刪除一個 Postgres 用戶
ecpg - 嵌入的 SQL C 預編譯器
pgaccess -Postgres 圖形化交互客戶端
pgadminPostgres 用於  Windows 95/98/NT  平台的資料庫管理和設計工具
pg_ctl - 啟動,停止 和重新啟動 postmaster
pg_dump - 把一個 Postgres 資料庫抽出到一個腳本文件裡
pg_dumpall - 把所有 Postgres 資料庫抽出到一個腳本文件裡
psqlPostgres 交互的終端
pgtclshPostgres TCL shell 客戶端
pgtkshPostgres 圖形化的 TCL/TK shell
vacuumdb - 清理和分析一個 Postgres 資料庫
21. 系統應用
initdb -  創建一個新的 Postgres 資料庫安裝
initlocation - 創建一個從屬的 Postgres 資料庫儲存區
ipcclean - 為退出的後端設置共享內存和信號燈
pg_passwd - 管理平面密碼文件
pg_upgrade - 允許不重新裝載數據從前面版本升級
postgres - 運行一個 Postgres 單用戶後端
postmaster - 運行 Postgres 多使用者後端
II. 管理員手冊
22. 移植
目前支援的平台
不支援的平台
23. 配置選項
配置參數 (configure
制作參數(make
本地化支援
Kerberos 認証
24. 系統布局
25. 安裝
安裝之前
安裝程序
26. 在 Win32 上安裝
制作庫
安裝庫
使用庫
27. 運行時環境
在 Unix 裡使用 Postgres
啟動 postmaster
使用 pg_options
28. 安全性
用戶認証
用戶名和組
訪問控制
函數和規則
安全 TCP/IP 聯接
29. 添加和刪除用戶
30. 硬碟管理
改變(儲存)位置
31. 管理資料庫
創建資料庫
訪問資料庫
刪除資料庫
備份和恢復
32. 蛻變測試
Postmaster 啟動失敗
客戶端聯接問題
調試資訊
33. 資料庫恢復
34. 蛻變測試
蛻變測試環境
蛻變測試程序
蛻變分析
平台相關的比較文件
35. 版本資訊
版本 7.0
版本 6.5.3
版本 6.5.2
版本 6.5.1
版本 6.5
版本 6.4.2
版本 6.4.1
版本 6.4
版本 6.3.2
版本 6.3.1
版本 6.3
版本 6.2.1
版本 6.2
版本 6.1.1
版本 6.1
版本 v6.0
版本 v1.09
版本 v1.02
版本 v1.01
版本 v1.0
Postgres95 Beta 0.03
Postgres95 Beta 0.02
Postgres95 Beta 0.01
計時結果
III. 程式員手冊
36. 體系結構
Postgres 體系概念
37. 擴展的 SQL: 概述
擴展性是如何工作的
Postgres 型態系統
關於 Postgres 系統表
38. 擴展的 SQL: 函數
查詢語言(SQL)函數
程序語言函數
內部函數
編譯(C)語言函數
函數重載
39. 擴展的 SQL: 型態
用戶定義型態
40. 擴展的 SQL: 符號
符號最佳化資訊
41. 擴展的 SQL: 巨集
42. Postgres 規則系統
Querytree(查詢樹)是什麼?
視圖和規則系統
INSERT,UPDATE 和 DELETE 的規則
規則和權限
規則與觸發器之比較
43. 擴展索引介面
44. 索引開銷計算函數
45. GiST 索引
46. 鏈接動態鏈接的函數
Linux
DEC OSF/1
SunOS 4.xSolaris 2.x 和 HP-UX
47. 觸發器
創建觸發器
與觸發器管理器交互
數據改變的可視性
例子
48. 伺服器編程介面
介面函數
介面支援函數
儲存器管理
數據改變的可視性
例子
49. 程序語言
安裝程序語言
IV. 介面
50. 函數
51. 大對像
歷史資訊
實現的特點
介面
內建的已註冊函數
通過 LIBPQ 訪問大對像
例子程式
52. ecpg - 在 C 裡嵌入 SQL
為什麼要嵌入 SQL
概念
如何使用 ecpg
局限
從其他 RDBMS 軟件包移植
安裝
寄語開發者
53. libpq - C 庫
資料庫聯接函數
查詢執行函數
異步查詢處理
捷徑
異步通知
與 COPY 命令相關聯的函數
libpq 跟蹤函數
libpq 控制函數
環境變數
線程特性
例子程式
54. libpq - C++ 綁定庫
控制和初始化
libpq++ 類
資料庫聯接函數
查詢執行函數
異步通知
與 COPY 命令相關聯的函數
55. pgtcl - TCL 綁定庫
命令
例子
pgtcl 命令參考資訊
56. libpgeasy - 簡化了的 C 綁定庫
57. ODBC 介面
背景
Windows 應用
Unix 安裝
配置文件
ApplixWare
58. JDBC 介面
制作 JDBC 介面
為 JDBC準備資料庫
使用驅動
裝入 JDBC
裝載驅動
與資料庫聯接
發出查詢和處理結果
執行更新
關閉聯接
使用大對像
Postgres 對 JDBC API的擴展
深入閱讀
59. Lisp 編程介面
V. 開發者手冊
60. Postgres 原始程式
格式
61. PostgreSQL 內部概貌
查詢的程序
聯接是如何建立起來的
分析器階段
Postgres 規則系統
規劃器/最佳化器
執行器
62. pg_options
63. 資料庫系統裡的基因查詢最佳化
作為複雜最佳化問題的查詢處理
基因算法(GA
Postgres 裡的基因查詢最佳化(GEQO
Postgres GEQO 未來的實現任務
64. 前端/後端協議
概述
協議
消息數據型態
消息格式
65. Postgres 信號
66. gcc 預設最佳化
67. 後端介面
BKI 文件格式
通用命令
宏命令
調試命令
例子
68. 頁面文件
頁面結構
文件
臭虫
VI. 教學課程
69. SQL
關系數據模型
關系數據模型公式
在關系數據模型上的操作
SQL 語言
70. 體系結構
Postgres 體系概念
71. 開始
設置你的運行環境
運行SQL界面 (psql)
管理資料庫
72. 查詢語言
SQL 界面
概念
創建新表
向表刈莨入記錄
查詢一個表
重新定向 SELECT 查詢
聯接表
更新
刪除
使用巨集函數
73. Postgres SQL 高級特性
繼承
非原子數值
更多高級特性
VII. 附錄
UG1. 日期/時間支援
時區
歷史
DG1. CVS 倉庫
CVS 樹的組織
通過匿名 CVS獲取原始程式
通過CVSup獲取原始程式
DG2. 文件
文件地圖
文件項目計劃
文件源文件
制作文件
手冊頁
v7.0文件硬拷貝產生
工具集
可選工具集
參考書目
表目錄
3-1. Postgres 數據型態
3-2. Postgres 函數常數
3-3. Postgres 數字型態
3-4. Postgres 貨幣型態
3-5. Postgres 字符型態
3-6. Postgres 特殊字符型態
3-7. Postgres 日期/時間型態
3-8. Postgres 日期輸入
3-9. Postgres 月份縮寫
3-10. Postgres 星期縮寫
3-11. Postgres 時間輸入
3-12. Postgres 帶時區時間輸入
3-13. Postgres 時區輸入
3-14. Postgres 特殊日期/時間常數
3-15. Postgres 日期/時間輸出風格
3-16. Postgres 日期順序傳統
3-17. Postgres 布爾型態
3-18. Postgres 幾何型態
3-19. PostgresIP 版本 4 型態
3-20. PostgresIP 型態例子
4-1. 符號順序(優先順序下降)
4-2. Postgres 符號
4-3. Postgres 數字符號
4-4. Postgres 幾何符號
4-5. Postgres 時間間隔符號
4-6. PostgresIP V4 CIDR 符號
4-7. PostgresIP V4 INET 符號
5-1. SQL 函數
5-2. 數學函數
5-3. 超越數學函數
5-4. SQL92 字符串函數
5-5. 字符串函數
5-6. 日期/時間函數
5-7. 格式化函數
5-8. 用於日期/時間轉換的模板
5-9. 用於日期/時間模板  to_char() 的後綴
5-10. 用於 to_char(numeric)的 模板
5-11. to_char 例子
5-12. 幾何函數
5-13. 幾何型態轉換函數
5-14. 幾何升級函數
5-15. PostgresIP V4 函數
13-1. Postgres 隔離級別
19-1. 一個二進制拷貝文件的內容
22-1. 支援的平台
22-2. 不支援的平台
22-3. 不兼容的平台
23-1. Kerberos 參數例子
34-1. 目錄布局
37-1. Postgres 系統表
38-1. 用於內建 Postgres 型態的等效 C 型態
43-1. 索引構型
43-2. B-tree 策略
55-1. pgtcl 命令
65-1. Postgres 信號
68-1. 例子頁面布局
UG1-1. Postgres 識別的時區
UG1-2. Postgres 澳大利亞時區
DG2-1. Postgres 文件產品
DG2-2. 目錄等效格式
圖片列表
24-1. Postgres 文件布局
36-1. 聯接是如何建立起來的
37-1. 主要的 Postgres 系統表
70-1. 聯接是如何建立起來的
例子列表
19-1. 一個循環重寫規則的例子
27-1. pg_options 文件
61-1. 一個簡單查詢
69-1. 供應商和部件資料庫
69-2. 一個內部聯接
69-3. 一個使用關系代數的查詢
69-4. 帶條件的簡單查詢
69-5. 巨集
69-6. 巨集
69-7. Having
69-8. 子查詢
69-9. Union, Intersect, Except
69-10. 創建表
69-11. 創建索引

    下一頁
    摘要
□□□