2025年9月25日: PostgreSQL 18 釋出!

功能矩陣

此表概述了哪些功能在哪些版本中新增。要獲取有關某功能的更多資訊,請點選連結或將滑鼠指標懸停在文字上。

分組

按版本過濾

後端

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
64位大物件
諮詢鎖
自定義後臺工作程序
基於磁碟的 FSM
動態後臺工作程序
EXPLAIN (BUFFERS) 支援
EXPLAIN (MEMORY)
EXPLAIN (SERIALIZE) 支援
EXPLAIN (WAL) 支援
"jsonlog" 日誌記錄格式
用於監控規劃器的可載入外掛基礎設施
LISTEN/NOTIFY 的有效載荷支援
pg_stat_checkpointer 系統檢視
pg_stat_io - I/O 指標檢視
pg_wait_events 系統檢視
共享記憶體中的伺服器統計資訊
SQL 標準資訊模式
匿名共享記憶體支援
EXPLAIN 的 XML、JSON 和 YAML 輸出

資料型別、函式和運算子

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
複合型別的陣列
陣列支援
ENUM 資料型別
GUID/UUID 資料型別
macaddr8 資料型別
多範圍 (Multiranges)
陣列中的 NULL
短語搜尋
範圍型別
smallserial 型別
型別修飾符支援
UUIDv7
XML 資料型別

索引和約束

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
塊範圍 (BRIN) 索引
B-tree 向上刪除索引
B-tree 去重
併發 GiST 索引
B-tree 的覆蓋索引 (INCLUDE)
GiST 的覆蓋索引 (INCLUDE)
可延遲唯一約束
排除約束
GIN (廣義反向索引) 索引
GIN 索引部分匹配
GIN 索引效能和大小改進
GiST (廣義搜尋樹) 索引
表示式索引
僅索引掃描
GiST 上的僅索引掃描
IS NULL 的索引支援
記憶體點陣圖索引
K-最近鄰 GiST 支援
K-最近鄰 SP-GiST 支援
非阻塞 CREATE INDEX
並行 B-tree 索引掃描
BRIN 索引的並行 CREATE INDEX
B-tree 索引的並行 CREATE INDEX
GIN 索引的並行 CREATE INDEX
多列 B-tree 索引上的跳過掃描
空間分割槽 GiST (SP-GiST) 索引
範圍型別的 SP-GiST 索引
UNIQUE NULLS NOT DISTINCT
雜湊索引的 WAL 支援

SQL

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
ANY_VALUE 聚合函式
FETCH FIRST .. WITH TIES
GROUPING SETS, CUBE 和 ROLLUP 支援
INSERT/UPDATE/DELETE RETURNING
LATERAL 子句
MERGE
MERGE ... RETURNING
多行 VALUES
非十進位制整數文字
ORDER BY NULLS FIRST/LAST
range_agg 範圍型別聚合函式
遞迴查詢
regexp_count, regexp_instr, regexp_like
從修改的行返回 OLD 和 NEW 值
行式比較
SELECT FOR NO KEY UPDATE/SELECT FOR KEY SHARE 鎖定模式
SQL 標準間隔處理
SYSTEM_USER
TABLE 語句
千位分隔符使用下劃線 (_)
unnest/array_agg
Upsert (INSERT ... ON CONFLICT DO ...)
視窗函式
WITHIN GROUP 子句
WITH ORDINALITY 子句
WITH 查詢 (公用表表達式)
可寫 WITH 查詢 (公用表表達式)

資料定義語言 (DDL)

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
ALTER object IF EXISTS
ALTER TABLE ... ADD UNIQUE/PRIMARY KEY USING INDEX
ALTER TABLE ... SET ACCESS METHOD
ALTER TABLE ... SET LOGGED / UNLOGGED
更改列型別 (ALTER TABLE .. ALTER COLUMN TYPE)
CREATE ACCESS METHOD
CREATE TABLE ... (LIKE) 包含外部表、檢視和複合型別
DROP object IF EXISTS
CREATE TEMPORARY TABLE 的 ON COMMIT 子句
REINDEX CONCURRENTLY
儲存生成的列
時間約束
型別化表
虛擬生成的列

效能

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
縮寫鍵
非同步提交
非同步 I/O (AIO)
自動計劃無效化
後臺檢查點程序
後臺寫入程序
基礎備份節流
CREATE STATISTICS - 最常用值 (MCV) 統計資訊
CREATE STATISTICS - 多列
CREATE STATISTICS - "OR" 和 "IN/ANY" 統計資訊
跨資料型別雜湊支援
分散式檢查點
標記為 NOT VALID 的外部索引鍵
已凍結頁面對映
全文搜尋
基於磁碟的雜湊聚合
DISTINCT/UNION/INTERSECT/EXCEPT 的雜湊支援
FULL OUTER JOIN、LEFT OUTER JOIN 和 RIGHT OUTER JOIN 的雜湊支援
僅堆元組 (HOT)
超過工作記憶體的排序效能改進
視窗函式效能改進
增量排序
SELECT DISTINCT 的增量排序
視窗函式的增量排序
內聯 WITH 查詢 (公用表表達式)
SQL 函式的內聯
表示式求值和元組解構的即時 (JIT) 編譯
libpq / psql 的負載均衡
TOAST 表的 LZ4 壓縮
只讀工作負載的多核可伸縮性
多個臨時表空間
外連線重排序
並行點陣圖堆掃描
並行 FULL 和 RIGHT 連線
並行全表掃描 (順序掃描)
並行雜湊連線
並行 JOIN、聚合
並行合併連線
並行查詢
並行 "SELECT DISTINCT"
部分排序能力 (top-n 排序)
查詢流水線
ALTER TABLE 命令的鎖定級別降低
SELECT ... FOR UPDATE/SHARE NOWAIT
為 TABLESPACE 設定特定成本
共享行級鎖定
ARM 的 SIMD 支援
x86 的 SIMD 支援
SKIP LOCKED 子句
同步順序掃描
TABLESAMPLE 子句
表空間
未記錄表
WAL 緩衝區自動調優

JSON

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
改進的 JSON 函式和運算子集
JSONB 資料型別
JSONB 修改運算子和函式
JSONB 下標
JSON 資料型別
SQL/JSON 建構函式
SQL/JSON: datetime()
SQL/JSON IS JSON
SQL/JSON JSON_TABLE
SQL/JSON 路徑表示式
SQL/JSON 查詢函式

分割槽和繼承

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
加速分割槽裁剪
宣告式表分割槽
預設分割槽
分割槽表的外部鍵引用
外部表繼承
按雜湊鍵分割槽
查詢執行期間的分割槽裁剪
分割槽表的 PRIMARY KEY、FOREIGN KEY、索引和觸發器支援
表分割槽
分割槽鍵上的 UPDATE

檢視和物化檢視

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
物化檢視
帶併發重新整理的物化檢視
SECURITY INVOKER 檢視
臨時檢視
可更新檢視
WITH CHECK 子句

複製

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
ALTER SUBSCRIPTION ... SKIP
級聯流複製
配置複製槽的最大 WAL 保持時間
邏輯複製槽的故障轉移支援
邏輯複製
邏輯複製避免複製迴圈
邏輯複製列列表
分割槽表的邏輯複製
從備用伺服器進行邏輯複製
儲存生成列的邏輯複製
使用二進位制協議進行邏輯複製初始同步
具有附加索引的邏輯複製查詢
邏輯複製並行應用事務
邏輯複製釋出模式下的所有表
邏輯複製行過濾
邏輯複製槽透過 pg_upgrade migrate 遷移
邏輯複製流式處理進行中的事務
邏輯複製訂閱者可以停用錯誤
邏輯複製寫入衝突日誌記錄
同步複製的仲裁提交
複製槽
僅流式複製的級聯複製
流複製
同步複製

備份、恢復和資料完整性

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
歸檔模組
資料頁校驗和
在離線叢集中啟用/停用頁面校驗和
通用 WAL 機制
熱備
WAL 全頁寫入的 lz4 和 Zstandard (zstd) 壓縮
min_wal_size / max_wal_size
多個同步備用伺服器
命名恢復點
並行 pg_dump
並行恢復
pg_basebackup 客戶端解壓縮
pg_basebackup 增量備份
pg_basebackup 伺服器端壓縮
pg_basebackup 工具
pg_dump, pg_dumpall, pg_restore --filter
pg_receivewal (原 pg_receivexlog)
按時間點恢復
恢復期間預取 WAL
remote_apply 模式
延遲備用伺服器
驗證備份完整性 (pg_verifybackup)
溫備

升級

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
pg_upgrade --swap
主要版本升級時保留的規劃器統計資訊

資料匯入和匯出

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
COPY 到/從 STDIN/STDOUT
COPY FROM ... WHERE
COPY ... ON_ERROR
帶任意 SELECT 的 COPY
COPY 的 CSV 支援

配置管理

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
ALTER SYSTEM
"整數"值的小數輸入
pg_hba.conf 和 pg_ident.conf 的 Include 指令
每個使用者/資料庫的伺服器配置設定
pg_config 系統檢視
pg_hba.conf 和 pg_ident.conf 中的正則表示式匹配

安全

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
SCRAM 身份驗證的通道繫結
客戶端可要求 SCRAM 通道繫結
客戶端指定的身份驗證要求
列級別許可權
預設許可權
直接 TLS 協商 ("sslnegotiation")
FIPS 模式驗證
GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS
GSSAPI 客戶端和伺服器端加密
GSSAPI 支援
Kerberos 憑證委託
krb5 身份驗證 (無 gssapi)
大物件訪問控制
LDAP 伺服器發現
透過有效的客戶端 SSL/TLS 證書進行多因素身份驗證
原生 LDAP 身份驗證
原生 RADIUS 身份驗證
OAuth 身份驗證/授權
每個使用者/資料庫的連線限制
預定義角色
設定配置引數的許可權
ROLES
行級安全
SCRAM-SHA-256 身份驗證
LDAP 身份驗證的 Search+bind 模式操作
檢視上的 security_barrier 選項
安全服務提供商介面 (SSPI)
用於密碼雜湊的 SHA-2 加密
libpq 中的 SSL 證書驗證
SSL 客戶端證書身份驗證
透過 GSSAPI 進行 SSPI 身份驗證
支援使用客戶端的 OS 受信任 CA。
TLS v1.3 密碼套件允許列表

事務和可見性

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
遊標
儲存點
可序列快照隔離
兩階段提交
可更新遊標

VACUUM 和維護

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
插入的資料可觸發自動 vacuum
整合自動 vacuum 守護程序
頁面凍結最佳化
索引的並行 VACUUM
並行 vacuumdb 作業
用於 vacuum 的基數樹記憶體結構
Vacuum "緊急模式"
用於 Vacuuming 的可見性圖

外部資料包裝器

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
postgres_fdw 的證書身份驗證
CREATE FOREIGN TABLE ... LIKE
外部資料包裝器查詢並行性
外部資料包裝器
外部表
IMPORT FOREIGN SCHEMA
匯入外部表分割槽
遠端資料庫上的並行查詢執行
postgres_fdw 並行提交
postgres_fdw 下推
postgres_fdw SCRAM 身份驗證直通
PostgreSQL 外部資料包裝器
可寫外部資料包裝器

自定義函式、儲存過程和觸發器

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
ALTER TABLE ENABLE/DISABLE TRIGGER
ALTER TABLE / ENABLE REPLICA TRIGGER/RULE
BEGIN ATOMIC 函式體
執行過程的 CALL 語法
列級別觸發器
SQL 儲存過程的 CREATE PROCEDURE 語法
事件觸發器
聚合函式的 FILTER 子句
聚合內的 ORDER BY 支援
每個函式的 GUC 設定
每個函式的統計資訊
RETURN QUERY EXECUTE
RETURNS TABLE
語句級觸發器
語句級 TRUNCATE 觸發器
檢視上的觸發器
可變引數函式
CREATE TRIGGER 的 WHEN 子句

過程語言

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
pl/pgsql 中的 CASE
PL/pgSQL 的 CONTINUE 語句
CREATE TRANSFORM
pl/perl 的 DO 語句
pl/pgsql 的 DO 語句
PL/pgSQL 中的 EXCEPTION 支援
PL/pgSQL 中的 EXECUTE USING
pl/pgsql 中的 FOREACH IN ARRAY
pl/pgsql 和 PL/SQL 的 IN/OUT/INOUT 引數
命名引數
非超級使用者語言建立
pl/pgsql 預設安裝
多型函式
pl/python 的 Python 3 支援
限定函式引數
RETURN QUERY 的查詢並行性
pl/pgsql 中的 RETURN QUERY
函式的 ROWS 和 COST 規範
pl/pgsql 的可滾動和可更新遊標支援
pl/pgsql 的 SQLERRM/SQLSTATE
PL/python 中的 Unicode 物件支援
使用者定義異常
pl/perl 的驗證器函式

擴充套件

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
CREATE EXTENSION .. CASCADE
擴充套件安裝
受信任的擴充套件

國際化

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
內建的、與平臺無關的不可變排序規則
casefold
列級別排序規則支援
資料庫級別排序規則
叢集/資料庫的預設 ICU 排序規則
EUC_JIS_2004/ SHIFT_JIS_2004 支援
ICU 排序規則
非確定性排序規則的 LIKE 比較
多位元組編碼支援,包括 UTF8
多語言支援
非確定性排序規則
pg_unicode_fast 排序規則
Unicode 字串文字和識別符號
Windows 上的 UTF8 支援

客戶端應用程式

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
pgbench
pg_combinebackup
pg_createsubscriber
pg_prewarm
pg_rewind
pg_standby
pg_upgrade
pg_waldump
pg_walsummary
pg_xlogdump
psql \bind
psql \dconfig
psql 流水線查詢
psql 命名預備語句
版本感知的 psql

附加模組 (contrib)

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
adminpack
auth_delay
auto_explain
btree_gin
btree_gist
citext
dblink
dblink 非同步通知支援
file_fdw
fuzzystrmatch
hstore
intarray
isn (ISBN)
CUBE 的 KNN 支援
ltree
pageinspect
passwordcheck
pg_buffercache
pg_freespacemap
pg_logicalinspect
pg_overexplain
pg_stat_statements
pg_stat_statements 改進
pgstattuple
pg_trgm
pg_trgm 正則表示式索引
pg_walinspect
seg
sepgsql
sslinfo
tablefunc
tcn
tsearch2 相容性包裝器
unaccent
uuid-ossp
xml2

網路

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
完整的 SSL 支援
IPv6 支援
V2 客戶端協議
V3 客戶端協議

平臺

  18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1
Microsoft Visual C++ 支援
原生 Windows 埠
SuperH 硬體平臺的自旋鎖支援
Linux 上的 Sun Studio 編譯器
Windows x64 支援