功能矩陣

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

群組

依版本篩選

後端

  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 的 Payload 支援
pg_stat_checkpointer 系統檢視
pg_stat_io - I/O 指標檢視
pg_wait_events 系統檢視
共享記憶體中的伺服器統計資料
SQL 標準資訊綱要
支援匿名共享記憶體
EXPLAIN 的 XML、JSON 和 YAML 輸出

資料類型、函數和運算子

  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 資料類型
多重範圍
陣列中的 NULL 值
語句搜尋
範圍類型
smallserial 類型
類型修飾符支援
XML 資料類型

索引和約束

  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 樹由下而上索引刪除
B 樹重複資料刪除
並行 GiST 索引
B 樹的覆蓋索引 (INCLUDE)
GiST 的覆蓋索引 (INCLUDE)
可延遲唯一約束
排除約束
GIN (廣義反向索引) 索引
GIN 索引部分匹配
GIN 索引效能和大小改進
GiST (廣義搜尋樹) 索引
表示式上的索引
僅索引掃描
GiST 上的僅索引掃描
IS NULL 的索引支援
記憶體內 Bitmap 索引
K 最近鄰 GiST 支援
K 最近鄰 SP-GiST 支援
非阻塞 CREATE INDEX
並行 B 樹索引掃描
BRIN 索引的並行化 CREATE INDEX
B 樹索引的並行化 CREATE INDEX
空間分割 GiST (SP-GiST) 索引
範圍類型的 SP-GiST 索引
UNIQUE NULLS NOT DISTINCT
雜湊索引的 WAL 支援

SQL

  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
逐行比較
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)

  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 物件 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 物件 IF EXISTS
CREATE TEMPORARY TABLE 的 ON COMMIT 子句
REINDEX CONCURRENTLY
儲存的產生欄位
類型化資料表

效能

  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 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 壓縮
唯讀工作負載的多核心可擴展性
多個暫存表格空間
外部聯結重新排序
並行 bitmap 堆積掃描
並行 FULL 和 RIGHT 聯結
並行完整資料表掃描 (循序掃描)
並行雜湊聯結
並行 JOIN、聚合
並行合併聯結
並行查詢
並行 "SELECT DISTINCT"
部分排序能力 (top-n 排序)
查詢管線化
降低 ALTER TABLE 命令的鎖定等級
SELECT ... FOR UPDATE/SHARE NOWAIT
設定 TABLESPACE 特定的成本
共用列層級鎖定
ARM 的 SIMD 支援
x86 的 SIMD 支援
SKIP LOCKED 子句
同步循序掃描
TABLESAMPLE 子句
表格空間
未記錄的資料表
WAL 緩衝區自動調整

JSON

  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 查詢函數

分割和繼承

  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、索引和觸發程序
資料表分割
更新分割區索引鍵

檢視表和實體化檢視表

  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 檢視表
暫存 VIEW
可更新檢視表
WITH CHECK 子句

複製

  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 保留
邏輯複製槽的容錯移轉支援
邏輯複製
邏輯複製避免複製迴圈
邏輯複製欄位清單
分割資料表的邏輯複製
從備用伺服器進行邏輯複製
使用二進制協定的邏輯複製初始同步
使用其他索引的邏輯複製查閱
邏輯複製並行套用交易
邏輯複製發布 schema 中的所有表格
邏輯複製列篩選
邏輯複製槽透過 pg_upgrade migrate 遷移
邏輯複製串流進行中的交易
邏輯複製訂閱者可以在發生錯誤時停用
同步複製的仲裁提交
複製槽
僅串流的級聯複製
串流複製
同步複製

備份、還原和資料完整性

  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)
暖備援

資料匯入和匯出

  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
COPY 搭配任意 SELECT
COPY 的 CSV 支援

組態管理

  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
"integer" 值的 fractional input
pg_hba.conf 和 pg_ident.conf 的 include 指令
每個使用者/資料庫伺服器組態設定
pg_config 系統視窗
pg_hba.conf 和 pg_ident.conf 中的正則表達式匹配

安全性

  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")
GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS
GSSAPI 用戶端和伺服器端加密
GSSAPI 支援
Kerberos 憑證委派
krb5 驗證 (沒有 gssapi) 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時
大型物件存取控制
LDAP 伺服器探索
透過有效的用戶端 SSL/TLS 憑證進行多因素身份驗證
原生 LDAP 驗證
原生 RADIUS 驗證
每個使用者/資料庫連線限制
預定義角色
設定組態參數的權限
ROLES
列層級安全性
SCRAM-SHA-256 驗證
LDAP 驗證的 Search+bind 模式操作
views 上的 security_barrier 選項
安全性服務提供者介面 (SSPI)
libpq 中的 SSL 憑證驗證
SSL 用戶端憑證驗證
透過 GSSAPI 進行 SSPI 驗證
支援使用用戶端作業系統信任的 CA。

交易和可見性

  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 和維護

  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
並行 vacuumdb 工作
用於清理的 Radix tree 記憶體結構
Vacuum "緊急模式"
用於清理的可見性地圖

外部資料封裝器

  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 的憑證驗證
外部資料包裝函式查詢並行
外部資料包裝函式
外部表格
IMPORT FOREIGN SCHEMA
匯入外部表格分割區
在遠端資料庫上並行查詢執行
postgres_fdw 並行提交
postgres_fdw 下推
PostgreSQL 外部資料包裝函式
可寫入的外部資料包裝函式

自訂函數、預存程序和觸發程序

  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 觸發器
views 上的觸發器
可變參數函數
CREATE TRIGGER 的 WHEN 子句

程序語言

  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 的驗證器函數

擴充功能

  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
擴充功能安裝
信任的擴充功能

國際化

  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
內建、平台獨立的不變定序
欄位層級定序支援
資料庫層級定序
叢集/資料庫的預設 ICU 定序
EUC_JIS_2004/ SHIFT_JIS_2004 支援
ICU 定序
多位元組編碼支援,包括 UTF8
多語言支援
非決定性定序
Unicode 字串字面值和識別符
Windows 上的 UTF8 支援

客戶端應用程式

  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

附加模組 (contrib)

  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_stat_statements
pg_stat_statements 改善
pgstattuple
pg_trgm
pg_trgm 正規表達式索引
pg_walinspect
seg
sepgsql
sslinfo
tablefunc
tcn
tsearch2 相容性包裝函式 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時
unaccent
uuid-ossp
xml2 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時 已過時

網路

  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 用戶端協定

平台

  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 硬體平台的 Spinlock 支援
Linux 上的 Sun Studio 編譯器
Windows x64 支援