功能矩阵

此表概述了在哪个版本中添加了哪些功能。要获取有关功能的更多信息,请单击链接或将鼠标指针悬停在文本上。

按版本筛选

后端

  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 输出

数据类型、函数和运算符

  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 的索引支持
内存位图索引
K 最近邻 GiST 支持
K 最近邻 SP-GiST 支持
非阻塞 CREATE INDEX
并行 B 树索引扫描
BRIN 索引的并行 CREATE INDEX
B 树索引的并行 CREATE INDEX
空间分区 GiST (SP-GiST) 索引
范围类型的 SP-GiST 索引
唯一 NULL 不相同
哈希索引的 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 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
存储生成的列
类型化表

性能

  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 压缩
只读工作负载的多核可扩展性
多个临时表空间
外连接重排序
并行位图堆扫描
并行 FULL 和 RIGHT 连接
并行全表扫描(顺序扫描)
并行哈希连接
并行 JOIN、聚合
并行合并连接
并行查询
并行“SELECT DISTINCT”
部分排序能力(前 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
加速分区修剪
声明式表分区
默认分区
分区表的外键引用
外部表继承
按哈希键分区
查询执行期间的分区修剪
对分区表支持主键、外键、索引和触发器
表分区
在分区键上 UPDATE

视图和物化视图

  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 保留时间
逻辑复制槽的故障转移支持
逻辑复制
逻辑复制避免复制循环
逻辑复制列列表
分区表的逻辑复制
从备用服务器进行逻辑复制
使用二进制协议的逻辑复制初始同步
使用附加索引的逻辑复制查找
逻辑复制事务的并行应用
逻辑复制发布模式中的所有表
逻辑复制行筛选
逻辑复制槽通过 pg_upgrade 迁移
逻辑复制流正在进行的事务
逻辑复制订阅者可以在出错时禁用
同步复制的仲裁提交
复制槽
仅流式级联复制
流式复制
同步复制

备份、恢复和数据完整性

  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
从/到 STDIN/STDOUT 的 COPY
COPY FROM ... WHERE
COPY ... ON_ERROR
使用任意 SELECT 的 COPY
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”值的分数输入
pg_hba.conf 和 pg_ident.conf 的包含指令
每个用户/数据库服务器配置设置
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 身份验证
每个用户/数据库连接限制
预定义角色
设置配置参数的权限
角色
行级安全性
SCRAM-SHA-256 身份验证
LDAP 身份验证的搜索+绑定模式操作
视图上的 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 作业
用于清理的基数树内存结构
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 / 启用副本触发器/规则
BEGIN ATOMIC 函数体
用于执行过程的 CALL 语法
列级触发器
用于 SQL 存储过程的 CREATE PROCEDURE 语法
事件触发器
用于聚合函数的 FILTER 子句
聚合函数内的 ORDER BY 支持
每个函数的 GUC 设置
每个函数的统计信息
RETURN QUERY EXECUTE
RETURNS TABLE
语句级触发器
语句级 TRUNCATE 触发器
视图上的触发器
可变参数函数
用于 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 硬件平台的自旋锁支持
Linux 上的 Sun Studio 编译器
Windows x64 支持