問題報告 糾錯本頁面

PostgreSQL 9.3.1 中文手冊

PostgreSQL 全球開發組

postgresql 教程是在PostgreSQL中國用戶會的組織下,由以嬡嬡、韓悅悅為代表的山東瀚高的開發人員以及社區其他志愿者基于何偉平先生的《PostgreSQL 8.2.3中文文檔》翻譯,詳細請參考 PostgreSQL9.3.1中文手冊1.1版發布說明。 目前中文手冊已完善,歡迎大家學習PostgreSQL 9.3.1 中文手冊。

PostgreSQLPostgreSQL是一個功能強大的開源數據庫系統。經過長達15年以上的積極開發和不斷改進,PostgreSQL已在可靠性、穩定性、數據一致性等獲得了業內極高的聲譽。目前PostgreSQL可以運行在所有主流操作系統上,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris和Tru64)和Windows。PostgreSQL是完全的事務安全性數據庫,完整地支持外鍵、聯合、視圖、觸發器和存儲過程(并支持多種語言開發存儲過程)。它支持了大多數的SQL:2008標準的數據類型,包括整型、數值值、布爾型、字節型、字符型、日期型、時間間隔型和時間型,它也支持存儲二進制的大對像,包括圖片、聲音和視頻。PostgreSQL對很多高級開發語言有原生的編程接口,如C/C++、Java、.Net、Perl、Python、Ruby、Tcl 和ODBC以及其他語言等,也包含各種文檔。

作為一種企業級數據庫,PostgreSQL以它所具有的各種高級功能而自豪,像多版本并發控制(MVCC)、按時間點恢復(PITR)、表空間、異步復制、嵌套事務、在線熱備、復雜查詢的規劃和優化以及為容錯而進行的預寫日志等。它支持國際字符集、多字節編碼并支持使用當地語言進行排序、大小寫處理和格式化等操作。它也在所能管理的大數據量和所允許的大用戶量并發訪問時間具有完全的高伸縮性。目前已有很多PostgreSQL的系統在實際生產環境下管理著超過4TB的數據。一些PostgreSQL系統的極限值如下表所列:
極限值:
最大單個數據庫大小:不限
最大數據單表大小:32 TB
單條記錄最大:1.6 TB
單字段最大允許:1 GB
單表允許最大記錄數:不限
單表最大字段數:250 - 1600 (取決于字段類型)
單表最大索引數:不限
由于PostgreSQL的優異性能,它已贏得最終用戶和業內的多次大獎,包括Linux新媒體(Linux New Media)的最佳數據庫獎和5次Linux期刊編輯選出的最佳數據庫獎。

眾多功能和標準兼容性

PostgreSQL對SQL標準高度兼容,它實現的功能完全遵守于ANSI-SQL:2008標準。目前完全支持子查詢(包括在FROM中的子查詢)、授權讀取和可序列化的事務隔離級別。同時PostgreSQL也具有完整的關系數據庫系統的目錄功能,它支持單數據庫的多模式功能,每一個目錄可通過SQL標準中定義的字典信息模式進行訪問。

Data集成性功能包括(復合)主鍵、含有嚴格約束或級聯更新和刪除功能的外鍵、錄入檢查約束、唯一性約束和非空約束。

PostgreSQL也具有很多擴展模塊和更高級的功能。其中有為方便使用的通過序列實現的自增字段、 允許返回部分記錄集的LIMIT/OFFSET選項,也支持復合、唯一、部分和函數式索引,索引并支持B-Tree、R-Tree、Hash或GiST存儲方式。

GiST (通用搜索樹) 索引是一種高級系統算法,它將不同的排序算法與包含B-Tree、B+-Tree、R-Tree、部分匯總樹、可加權的B+-Tree以及其他多種搜索邏輯結合在一起,它也提供了接口允許創建用戶數據類型和擴展的查詢方法。這樣,GiST提供了用戶指定存儲和定義新方法進行查詢的靈活性---它大大超越了標準B-Tree、R-Tree和其他通用搜索邏輯所能提供的功能。

GiST現在也成為很多其他使用PostgreSQL公共項目的基礎,如OpenFTS和PostGIS項目。 OpenFTS(開源全文搜索引擎)項目提供在線索引和數據庫搜索的相當權重評分。 PostGIS項目給PostgreSQL增加了地理信息管理功能,允許用戶將PostgreSQL作為GIS空間地理信息數據庫使用,這和專業的ESRI公司的SDE系統以及Oracle的空間地理擴展模塊功能相同。

其他高級功能包括表繼承、規則和數據庫事件響應功能等。表繼承功能可以按原來的一個表創建一個有關系的新表,這樣允許數據庫設計人員可以將一個表作為基表,從基表派生出新表。并且PostgreSQL甚至可以使用此方式實現單級或多級的繼承。

規則功能是用來調用查詢的重算功能,允許數據庫設計人員根據不同的表或視圖來創建規則,以實現動態改變數據庫原操作為新的操作的功能。

事件響應功能是一個內部通訊功能,它將系統信息或事件在用戶使用的LISTEN和NOTIFY兩條指令后進行傳遞,允許 簡要的點對點通訊或是對指定數據庫事件的定點通訊。由于信息可以從觸發器或是存儲過程中發出,PostgreSQL的用戶可以監控類似更新、新增或是刪除的數據庫事件。

高度可定制性

PostgreSQL的存儲過程開發可以使用眾多的程序語言,包括Java、Perl、Python、Ruby、Tcl、C/C++和自帶的PL/pgSQL,其中的PL/pgSQL與Oracle的PL/SQL很相似,內置了數百個函數,功能從基本的算術計算和字符串處理到加密邏輯計算并與Oracle有高度兼容性。觸發器和存儲過程可以使用C語言開發并可以作為內部庫文件加載至數據庫內部,開發上的巨大靈活性擴展了數據庫能力。相應地,PostgreSQL也包括一套框架允許開發人員定義和創建他們自己的可在函數中使用數據類型,也可以定義操作符新的處理方式,具有了這樣的能力后,PostgreSQL現已具有了各種高級數據類型,包括幾何圖形、空間地理、網絡地址甚至于ISBN/ISSN(國際標準書號/國際標準序列號),這些都可以加入至系統中。

由于有很多的存儲過程語言可以使用,這樣也產生了很多的庫接口,這樣允許各種編譯型或是解釋型的語言在PostgreSQL進行使用,包括Java(JDBC)、ODBC、Perl、Python、Ruby、C、C++、PHP、Lisp、Scheme和Qt等。

最重要的一點,PostgreSQL的源代碼可以自由獲取,它的授權是在非常自由的開源授權下,這種授權允許用戶在各種開源或是閉源項目中使用、修改和發布PostgreSQL的源代碼。用戶對源代碼的可以按用戶意愿進行任何修改、改進。因此,PostgreSQL不僅是一個強大的企業級數據庫系統,也是一個用戶可以開發私用、網絡和商業軟件產品的數據庫開發平臺。


目录
前言
何為PostgreSQL?
PostgreSQL簡史
格式約定
更多信息
Bug報告指導
PostgreSQL常見問題
PostgreSQL下載
postgresql mysql 比較
I. 教程
1. 從頭開始
2. SQL語言
3. 高級特性
II. SQL 語言
4. SQL語法
5. 數據定義
6. 數據操作
7. 查詢
8. 數據類型
9. 函數和操作符
10. 類型轉換
11. 索引
12. 全文檢索
13. 并發控制
14. 性能提升技巧
III. 服務器管理
15. 源碼安裝
16. Windows下用源代碼安裝
17. 服務器設置和操作
18. 服務器配置
19. 用戶認證
20. 數據庫角色
21. 管理數據庫
22. 區域
23. 日常數據庫維護工作
24. 備份與恢復
25. 高可用性與負載均衡,復制
26. 恢復配置
27. 監控數據庫的活動
28. 監控磁盤使用情況
29. 可靠性和預寫式日志
30. 回歸測試
IV. 客戶端接口
31. libpq - C 庫
32. 大對象
33. ECPG - 在C中嵌入SQL
34. 信息模式
V. 服務器端編程
35. 擴展SQL
36. 觸發器
37. 事件觸發器
38. 規則系統
39. 過程語言
40. PL/pgSQL - SQL過程語言
41. PL/Tcl - Tcl 過程語言
42. PL/Perl - Perl 過程語言
43. PL/Python - Python 過程語言
44. 服務器編程接口
45. 后臺工作進程
VI. 參考手冊
I. SQL 命令
II. PostgreSQL 客戶端應用程序
III. PostgreSQL 服務器應用程序
VII. 內部
46. PostgreSQL內部概述
47. 系統表
48. 前/后端協議
49. PostgreSQL 編碼約定
50. 本地語言支持
51. 書寫一個過程語言處理器
52. 寫一個外數據包
53. 基因查詢優化器
54. 索引訪問方法接口定義
55. GiST索引
56. SP-GiST索引
57. GIN索引
58. 數據庫物理存儲
59. BKI后端接口
60. 規劃器如何使用統計信息
VIII. 附錄
A. PostgreSQL 錯誤代碼
B. 日期/時間支持
C. SQL關鍵字
D. SQL兼容性
E. 版本說明
F. 額外提供的模塊
G. 額外提供的程序
H. 外部項目
I. 源代碼庫
J. 文檔
K. 首字母縮略詞
參考書目
索引
江苏时时彩正规吗