認識 PostgreSQL

PostgreSQL 的歷史和許可,程序模型、事務與 MVCC,B-tree 和其他索引,執行計畫、約束、JSONB、擴充套件和支援週期。

  • 16 頁
  • 風格 standard · 商務
  • 配色 cobalt
認識 PostgreSQL 第 1 頁:封面

關於這套簡報

適合剛開始用 PostgreSQL 的開發者,或者想弄清它內部怎樣工作的人。從一個連線對應一個程序講起,到 MVCC 怎樣讓讀寫互不阻塞、索引和執行計畫怎樣決定查詢快慢,最後是 JSONB、擴充套件生態和每個大版本的支援年限。

共 16 頁,standard 風格、cobalt 配色,用 PCafe 的 15 個模板拼成。可以在瀏覽器裡直接播放,也可以下載成 HTML、PowerPoint 或 PDF,或者嵌入到自己的網頁裡。

內容提要

  1. 認識 PostgreSQL

    從伯克利的研究專案到今天的開源關聯式資料庫:歷史、許可、核心機制和版本節奏。

  2. 四十年,三個名字

    專案由伯克利的 Michael Stonebraker 主持,1994 年加入 SQL 後才走向今天的樣子。

  3. PostgreSQL 授權:寬鬆的開源許可, 和 BSD、MIT 相近

    程式碼由全球開發組(PGDG)維護,不屬於某一家公司。

  4. 一個連線,一個後端程序

    客戶端先連主程序 postmaster,它為每個連線派生一個獨立的後端程序。

  5. 寫入的同時拿回改動前後的值

    PostgreSQL 18 起,RETURNING 可以同時引用 OLD 和 NEW。

  6. 兩個會話改同一行:後來者等待

    預設隔離級別是讀已提交。更新已被別的事務鎖住的行時,要等對方提交或回滾。

  7. 更新不覆蓋舊行,而是寫出新版本

    每個行版本帶 xmin(建立它的事務)和 xmax(刪除它的事務)。讀者按自己的快照挑可見的版本。

  8. 預設索引 B-tree:從根頁走到葉子頁

    CREATE INDEX 不指定型別時建的就是 B-tree,適合等值和範圍查詢。

  9. 內建六種索引

    預設型別。等值、範圍、排序,適合大多數場景。

  10. 看最佳化器怎麼執行一條查詢

    EXPLAIN 輸出一棵計畫樹:葉子讀資料,上層做連線和排序。下面的計畫是示意。

  11. 外部索引鍵讓表之間的引用始終成立

    REFERENCES 宣告外部索引鍵:插入不存在的客戶、刪除仍被引用的客戶,都會被拒絕。表結構是示意。

  12. 文件存進表裡,也能按路徑查

    jsonb 以二進位制分解儲存,支援 GIN 索引。-> 取出 jsonb,->> 取出文本,@> 判斷包含。

  13. 一條 CREATE EXTENSION,裝上空間資料庫

    擴充套件可以加入新型別、函式、運算子和索引方法。PostGIS 是其中最常見的例子之一。

  14. 每年一個大版本,每個支援五年

    小版本至少每三個月發布一次,只含修復,升級不需要匯出匯入。

  15. PostgreSQL 19 RC 1已於 2026-10-15 發布, 正式版計畫 11 月 19 日

    截至 2026-10-30,目前最新的正式大版本仍是 18。日期以官方公告為準,可能順延。

  16. 開源、可擴充套件、按年發布 升級前先看官方版本表和發布說明。

    起源於 1986 年的伯克利 POSTGRES 專案,1996 年更名 PostgreSQL,使用類似 BSD 的寬鬆許可。

用到的模板

每個模板都有單獨的說明頁:適合放什麼內容、字數上限和範例程式碼。

更多範例

全部範例 →

由 PCafe 製作

想做一套這樣的簡報?

PCafe 讓 AI 往設計好的模板裡寫內容,結果是一個能離線開啟、能直接分發的 HTML 檔案。