


PostgreSQL 被誉为最先进的开源数据库,具有强大的扩展性和灵活的架构。它的各种扩展、工具以及对高级数据类型的支持,使其成为了各类数据使用和应用开发中的热门选择。今年9月26日,社区官方正式发布PostgreSQL 17 版本(下文简称PG 17)[1],在性能、逻辑复制、开发者体验、监控、权限&安全等方面进行了改进和优化。阿里云瑶池数据库旗下的云数据库RDS PostgreSQL 版(下文简称RDS PG)已支持 PG 17。在社区版 PG 17 基础上,RDS PG进行了安全、成本、运维等多方面提升,并增加了多种内核和插件特性。
详情可点击文末「阅读原文」查阅阿里云 RDS PG 各大版本功能概览。
01
社区版 PG 17 有哪些亮点?
1. 性能
▶︎ VACUUM
使用了新的数据结构 tid store (内部实现为 radix tree) 记录死元组,提升 VACUUM 效率,降低内存消耗。
解除 vacuum 1G 内存使用上限:当清理包含索引的表时,VACUUM 会将死元组记录在内存中,当内存受限时,会触发对索引文件的扫描。所以,增加 VACUUM 的内存使用上限,可以减少对索引文件的扫描次数,以加快 VACUUM 的速度并节约 IO 资源。
▶︎ WAL
优化了 WAL 锁的管理方式,提升高并发修改的性能。
▶︎ 优化器
可同时使用统计信息和 WITH 查询进一步优化。 IN 从句中可使用 B 树索引,大幅度加速查询。 对于含有 NOT NULL 约束的字段,可以自动剔除冗余的 IS NOT NULL 语句。
支持逻辑复制槽的故障转移功能。 PG17 向上升级到更高大版本时,可保留逻辑复制槽。 新增二进制工具 pg_createsubscriber, 可以将两个物理复制的实例转化为逻辑复制。 提升在大量子事务场景下逻辑解码的性能。
新增视图 pg_stat_checkpointer,提供 checkpoint 的统计信息,可以更好地监控 checkpoint 的频率以及资源消耗。 新增视图 pg_wait_events,提供了等待事件的原因。 EXPLAIN 可以打印优化器的内存消耗。
▶︎ 权限&安全
新增表级权限 MAINTAIN,和保留用户 pg_maintain, 用于控制表的 VACUUM, REINDEX 等权限
增加新的参数 sslnegotiation,可以直接执行 TLS 握手,消除了网络往返
更完善的 JSON 支持
◆ 新增函数 JSON_TABLE(),可以在 SQL 语句中,将 JSON 数据转化成一个表
◆ 新增 JSON 构建函数 JSON(), JSON_SCALAR() 以及 JSON_SERIALIZE()
◆ 新增 JSON 查询函数 JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE()
提供函数 pg_column_toast_chunk_id() 获取 TOAST 的 chunk id
02
为什么选择使用阿里云 RDS PG 17
▶︎ 通用云盘数据归档(新功能):RDS PG实例利用表空间和外部文件系统来实现对OSS的访问,允许用户通过DDL完成数据在ESSD和OSS之间的转换。开启用RDS PG数据归档功能后,利用OSS的海量、安全、低成本和高可靠特性,用户可在RDS PG上实现极低成本、无限容量的归档数据存储,并支持低频数据访问。相较于ESSD PL1云盘,数据存储成本下降了80%。通用云盘数据归档能力适用于实例中有大量不常访问数据的场景。详见通用云盘数据归档。
🔗 通用云盘数据归档:https://help.aliyun.com/zh/rds/apsaradb-rds-for-postgresql/data-archiving
▶︎ 高性能OLAP引擎 rds_duckdb(新功能):新增rds_duckdb插件,引入了DuckDB提升RDS PG的分析能力,允许用户将PostgreSQL本地表导出列存表副本,在开启AP加速开关后,对查询进行加速。启用插件后,您可以在RDS PG上实现高效的分析查询,性能提升可高达几十倍。详见AP加速引擎(rds_duckdb)。
3. 安全
▶︎ 缓存淘汰功能:彻底解决多表场景下原生PostgreSQL长连接占用内存过多的问题。PostgreSQL中,后端进程每访问到一个表,会将该表的元信息缓存到本地,并且这些缓存不会被主动释放,以减少后续对磁盘的访问。这导致长连接可能会积累大量的缓存,并导致内存溢出(OOM)。该功能多用于具有大量长连接的SAAS场景。详见缓存淘汰。
▶︎ SQL限流功能:通过限制并发SQL数,从而避免过高的数据库负载,保证数据库的稳定性和可靠性。多用于高并发访问,防止恶意攻击,控制资源使用等场景。详见SQL 限流功能。
5. 自研/三方插件
03
如何升级到阿里云 RDS PG 17
/ END /




点击了解 阿里云 RDS PG 功能概览





