跳轉到內容

PostgreSQL/功能

100% developed
來自華夏公益教科書


傑出的目標

[編輯 | 編輯原始碼]

最早的 概念檔案 - 出版於 1986 年 - 定義了一個目標,該目標將 PostgreSQL 與其他許多系統區分開來,直到今天:“為資料型別、運算子和訪問方法提供使用者可擴充套件性”。這個目標已經實現。它不僅對使用者可用,即使內部實現也利用這些介面來建立系統元件。

PostgreSQL 實現了一個客戶端/伺服器模型。每個客戶端程序連線到伺服器站點上的一個後端程序。這樣的後端程序是例項的一部分,一個由許多程序組成的組,它們緊密協作並處理資料訪問。PostgreSQL 不會在後端程序或其他任何地方使用執行緒。

  • 身份驗證方法:SCRAM-SHA-256、GSSAPI、SSPI、LDAP、RADIUS、證書、PAM
  • 角色(使用者和組)授權訪問資料和執行函式

可靠性

[編輯 | 編輯原始碼]
  • 事務,具有完整的 ACID 支援和不同的隔離級別
  • 儲存點(子事務)
  • 多版本併發控制 (MVCC)
  • 時間點恢復
  • 表和索引的分割槽
  • 同步、非同步和邏輯複製
  • 雙向複製
  • 釋出/訂閱機制
  • 在多個 CPU 上並行執行單個查詢

應用程式方面

[編輯 | 編輯原始碼]
  • 豐富的預定義資料型別,例如 JSON
  • 支援陣列
  • 複合型別(類似於某些程式語言中的記錄),透過關鍵字構造行
  • 檢查約束
  • 使用外部索引鍵的引用完整性
  • 表繼承
  • 檢視、物化檢視、可更新檢視

可擴充套件性

[編輯 | 編輯原始碼]
  • 使用者定義的資料型別、運算子和索引訪問方法
  • 使用者定義的函式、過程、觸發器和過程語言
  • 建立擴充套件介面以建立使用者定義的包。一些公開可用的示例
    • 外部資料包裝器用於其他 - PostgreSQL 或非 PostgreSQL - 資料庫或檔案系統
    • PostGIS:用於空間和地理物件的擴充套件
    • hstore:鍵值儲存

SQL 支援

[編輯 | 編輯原始碼]
  • 高度符合 SQL 標準:177 個功能中的 170 個
  • 外連線、聯合、交集、排除
  • 分組依據、分組集、立方、彙總
  • 公用表表達式 (CTE)
  • 遞迴查詢、圖查詢
  • 視窗函式、分析函式



華夏公益教科書