PostgreSQL 18/19 新特性深度解读:从 IO 预取到智能运维,全面提升数据库体验

SpringBoot+Vue+MySQL 高校学科竞赛平台 完整可运行版(源码+文档) 本项目基于SpringBoot+Vue+MySQL构建高校学科竞赛管理平台,覆盖学生、教师、领队教师、管理员四大角色,实现竞赛发布、报名、刷题、评分、公示等全流程闭环管理。系统架构清晰,技术主流,配套完整源码、数据库脚本、万字论文、开题报告、答辩PPT及部署文档,支持一键运行,适用于毕业设计、课程设计及院系二次开发,真正实现“开箱即用”。 阅读详情

本文整理于 HOW 2026 演讲内容,演讲者:德哥,PostgreSQL ACED、IvorySQL 专家顾问委员。

一、如何高效“挖掘”新特性?

演讲者分享了一个有趣的实践:面对 PG 18 已发布的 Release Notes,他利用 AI 工具(如 Copilot)对数千条 commit 日志进行自动分析,先让模型总结出三十余条潜在特性,再逐条要求生成详细解释和代码校验,最终筛选出对用户体感最强的若干项。对于尚未正式发版的 PG 19,则通过拉取过去一年内(从 PG 18 Beta1 时间点至今)的所有 commit,同样交由 AI 分析提炼。经过人工复核,准确度令人满意。这一方法也为社区爱好者提供了高效跟踪新版本的思路。

1.png

二、PostgreSQL 18:性能与开发体验的双重提升

1. 原生排除约束,让时空数据不再“打架”

在业务系统中,我们经常需要避免时间区间、地理多边形等数据出现重叠。例如会议室预定表,不能允许同一会议室在同一时间段被两次预定。以往,PG 通过 EXCLUDE 约束来实现,但写法复杂且依赖扩展。PG 18 则原生支持范围类型和空间类型的互斥约束,语法更简洁,并且可以利用索引加速检查,大大降低了开发门槛。

2.png

2. UUID v7:告别索引膨胀

随机 UUID 作为主键时,因值无序会导致 B-Tree 索引频繁分裂,造成索引空间膨胀和性能下降。PG 18 引入 UUID v7,其值基于时间戳和机器码组合生成,天然有序。写入时新数据始终追加在索引末尾,有效避免分裂,非常适合高并发写入场景。

3.png

3. UPDATE 返回旧值 + 新值,一次搞定

开发中常有“更新记录后,既要拿到更新后的值,也要拿到更新前的值”的需求。以往需要先 UPDATE 再 SELECT,甚至要加锁保证一致性,至少两次交互。PG 18 增强了 UPDATE ... RETURNING 语法,允许同时返回 OLD 和 NEW 行,将整个过程变为单条原子 SQL,减少锁冲突和网络往返,提升业务效率。

4.png

4. 异步 I/O 预取:让云盘性能不再“纸上谈兵”

云盘往往标榜高 IOPS 和大带宽,但单次 I/O 延迟较高,单线程无法压满性能。PG 18 引入了 异步 I/O 预取(Async I/O Prefetch),当顺序扫描或 Vacuum 处理一个数据块时,通过预取接口提前告知内核下一个或下几个块的地址,内核据此提前加载到缓存。这样一来,即便单次延迟高,也能通过预取流水线充分利用 I/O 带宽,显著提升大表扫描和垃圾回收效率。

5.png

5. Skip Scan:复合索引的“快速通道”

对于 (class_id, custom_id) 这样的复合索引,若查询条件只包含 custom_id,PG 18 之前要么不走索引,要么全扫描。PG 18 引入 Skip Scan 优化,当索引前导列(如 class_id)基数较低时,优化器会为每个 class_id 值“跳过”到对应的索引入口,再搜索 custom_id。相当于递归执行少量精确查找,避免遍历全部索引条目,大幅提升此类查询的性能。

6.png

6. pg_upgrade 迁移统计信息,升级后即开即用

大版本升级后,统计信息不会自动迁移,导致执行计划不准,必须立即执行 ANALYZE,耗时较长。PG 18 的 pg_upgrade 支持将统计信息一并迁移到新实例,升级完成后即可直接开放业务,无需等待分析,有效降低升级停机窗口。

7.png

三、PostgreSQL 19:运维可观测性与自动化治理的飞跃

1. 等待事件历史统计:告别“盲人摸象”

DBA 管理成百上千个实例时,通常需要找出负载最高的实例,再深入分析原因。以往只能查看当前等待事件,无法追溯过去一段时间内的等待分布。PG 19 新增 pg_stat_wait_events 视图,记录自上次重置以来的所有等待事件总时长和总次数(包括 IO、锁、CPU 等)。结合快照对比,可以清晰定位某一时间窗口内哪些等待事件激增,进而关联到具体 SQL,极大提升根因分析效率。

2. 智能垃圾回收:优先级调度,避免事务回卷

Autovacuum 进程原本按系统表顺序扫描,对所有表“一视同仁”,但表的年龄(事务 ID 消耗)和膨胀程度各不相同。PG 19 改进了回收策略:管理员可以为每个表或全局设置多个维度(如年龄、膨胀率、上次清理时间)的权重系数,系统对每个表加权计算得分,得分最高的表优先处理。这样就能确保“年龄濒临回卷”的大表得到及时冻结,有效规避事务 ID 回卷导致的数据库只读风险。同时,系统视图会展示每个维度的分值,便于运维人员实时掌握。

3. 自适应并行 I/O:让并行度动态伸缩

以往 effective_io_concurrency 参数需要人为设定一个固定并行度,但不同表大小、不同负载下最优值差异很大。PG 19 引入 自适应并行 I/O:管理员只需设置最小和最大并行度,系统在执行顺序扫描、位图扫描、范围扫描等操作时,会动态监测 I/O 利用率,若未打满则逐步增加 Worker 数量,直至达到上限或 I/O 饱和;空闲超过阈值时间后自动回退到最小值。DBA 从此不必再为调参纠结。

4. 原生在线表收缩(VACUUM FULL 并发版)

表膨胀是 PG 运维中的常见难题。以往收缩空间要么用 VACUUM FULL(全程排他锁),要么依赖第三方工具如 pg_repack(稳定性受版本适配影响)。PG 19 将类似 pg_repack 的功能集成到内核:利用逻辑复制机制,先对目标表创建快照,将全量数据拷贝到新存储文件,同时同步增量变更,最后在切换瞬间加短暂排他锁。整个过程业务影响极小,且无需额外插件。需要注意,该功能要求表必须有主键或非空唯一键。

5. 备份与压缩全面增强

  • pg_dumpall 支持二进制和压缩格式:以往只能输出文本格式,占用空间大且恢复慢,现在可像 pg_dump 一样选择自定义格式或压缩。
  • 默认压缩算法切换为 Zstandard(zstd):对于 JSON 等大字段,zstd 压缩率更高、速度更快,尤其适用于 AI 场景下的海量 JSON 存储。

6. 更精细的 I/O 观测与统一状态视图

  • EXPLAIN 增加 I/O 细节:可查看 SQL 执行期间的预读次数、等待次数等,帮助判断是否应调整并行度或预取参数。
  • 统一状态视图:原本分散在多个系统视图中的控制文件信息和内存结构,现可通过单一视图一次性读取一致性快照,避免多次查询导致时间点不一致。

7. 图查询(SQL/PGQ)与强一致性保障

  • 属性图查询支持:PG 19 引入 SQL/PGQ 标准语法,支持在关系库内构建属性图模型。这一特性在 AI Agent 记忆管理、知识图谱召回等场景尤为有用,可以便捷地表达实体间的复杂关联,实现精确检索。
  • Wait for LSN:在读写分离架构中,若业务要求“读己之写”的强一致性,可在备库查询前指定等待主库的特定 LSN 位置。中间件或应用层可利用该功能,确保备库数据已同步至最新事务后再返回查询结果,避免读到旧数据。

8. 统计信息迁移补全 & DDL 信息提取

PG 18 支持普通统计信息迁移,但未包含用户创建的扩展统计信息(多列关联统计)。PG 19 将其补全,确保升级后优化器依然能生成精确的代价估算。此外,新版还提供了更便捷的 DDL 信息提取接口(例如获取视图、外表的 Schema 定义),不过表级重建 SQL 的完整支持可能还需后续版本完善。

四、升级建议与总结

PostgreSQL 的版本升级成本相对较低,无论是通过 pg_upgrade 还是逻辑复制迁移,都能较为平滑地完成。PG 18 重在夯实底层 IO 性能和开发便利性,适合追求高吞吐和简化业务代码的团队;PG 19 则聚焦运维可观测性和自动化治理,为大规模、高要求的生产环境提供利器,尤其是自适应 I/O、智能回收和在线表收缩,将显著减轻 DBA 日常负担。

面对 AI 应用对数据库提出的新挑战(如 JSON 存储、图关系检索、一致性读),PG 19 也给出了积极回应。总体而言,PostgreSQL 正以稳健而快速的步伐,持续巩固其作为“最先进开源数据库”的地位。我们鼓励广大用户关注新版本,尽早规划测试和升级路径,享受开源技术带来的红利。

活动播报

pg Asia logo.png

适逢 PostgreSQL 三十周年,PGConf.Asia 2026 香港站定于 11 月 17–18 日举办,大会面向全球征集 PG 实战技术分享并开放商业赞助合作,演讲提案征集 8 月 31 日截止。

更多资讯请点击:

https://mp.weixin.qq.com/s/SQncqrtvUO0IZNQg_pFtYA

德哥的Postgresql数据库优化的培训视频(网盘链接) 德哥的Postgresql数据库优化的培训视频,从Postgtesql的安装,配置,到数据库配置文件postgresql.conf的讲解,执行计划的查看,非常详细。 立即下载

相关推荐

PostgreSQL+经验谈(德哥)-PostgreSQL2012-p72

PostgreSQL+经验谈(德哥)-PostgreSQL2012-p72

第三章:德哥之PostgreSQL实例初始化、基本配置

文章目录1.初始化数据库集群2.PG参数介绍、优化3.数据库防火墙介绍与配置4.数据库物理架构5.数据库逻辑架构6.数据库权限体系7.连接数据库8.SSL链路1、初始化数据库实例2、数据库架构3、PG参数介绍、优化4、数据库防火墙介绍与配置5、数据库权限体系、逻辑结构介绍6、连接数据库7、PG 11 新特性 1.初始化数据库集群 使用PG的bki脚本创建元数据 规划数据目录 默认的表空间是pg_default,其目录在$PG_DATA中,就是base目录,base就是一个默认的表空间 $PG_DATA

喜欢打篮球的普通人 2526

SCHUNK SVH五指灵巧手 | 熵洛智能

雄克仿真五指机械手产品系列可以如人手操作那般完美地完成抓取操作。电子装置完全集成于腕关节中,使五指机械手几乎可以完成所有的人体手部动作。凭借带有9个驱动器的运动指骨,机械手可高精度地 执行多种抓取操作。富有弹性的抓取表面确保了对物体的可靠抓取。除了开启抓取和操作任务的全新领域之外,雄克还为在五指机械手的手势基础上进行人与机器人的交流开创了无限可能。编辑切换为居中添加图片注释,不超过 140 字(可选)产品特点:机械手有左手或右手两种版本适合移动应用耗能低,使用 24 V DC 在腕关节处完整集成了控制、调节

ShannonTech的博客 1335

第四章:德哥之PostgreSQL应用开发指南1

文章目录1.需要了解的网站2.基本SQL语句 1.需要了解的网站 PostgreSQL Tutorial SQL Commands Chapter 2. The SQL Language 2.基本SQL语句 保留字:PostgreSQL Oracle兼容性 之 - parser SQL保留|关键字(keywrods)大全 (1)建表 create table test( id int8 primary kety, info text, crt_time timestamp ); (2)select int

喜欢打篮球的普通人 1160

手把手教你用GPIO模拟MDIO时序,搞定Linux下那些‘不听话’的PHY芯片

本文详细介绍了如何利用Linux内核的`virtual,mdio-gpio`驱动,通过GPIO模拟MDIO时序来解决特殊PHY芯片的驱动调试问题。从硬件准备、设备树配置到驱动实现,提供了完整的解决方案和实战案例,帮助开发者应对非标准时序的PHY芯片挑战。

weixin_29188043的博客 272

西门子S7-200 SMART与施耐德ATV变频器Modbus通讯实战:从接线到稳定运行的完整指南

本文详细介绍了西门子S7-200 SMART PLC与施耐德ATV变频器之间实现稳定Modbus通讯的完整实战指南。内容涵盖从硬件接线、参数配置、PLC程序编写到触摸屏设计的全流程,并分享了提升通讯稳定性的关键技巧和常见故障排查方法,助力工业自动化系统可靠运行。

kkk56的博客 1110

第四章:德哥之PostgreSQL应用开发指南2

文章目录1.数据类型、操作符2.内置数据类型2.数据库对象 1.数据类型、操作符 pg中所有的数据类型 postgres=# select * from pg_type ; postgres=# \d pg_type; 增加一个表,会增加一个表类型,这是一个复合类型,数据输入输出接口走的是record_in 和record_out postgres=# \d table1; postgres=# select * from pg_type where typname = 'table1'; oid

喜欢打篮球的普通人 1298

7系列ZYNQ硬件调试:Vitis无法识别ARM DAP的排查与解决

本文针对7系列ZYNQ开发中Vitis无法识别ARM DAP的典型硬件调试问题,提供了系统性的排查与解决方案。文章深入剖析了问题本质,指出ARM DAP无法访问的核心原因在于PS部分的电源、时钟或复位等硬件基础条件未满足,并重点强调了PS参考时钟(如33.333MHz晶振)的完整性是关键排查点。通过从电源完整性、时钟与复位信号到JTAG连接与焊接的逐步硬件排查,并结合软件配置交叉验证,为开发者提供了清晰的故障定位思路与实战指南。

weixin_29280657的博客 628

PostgreSQL RDS 阿里云的同学让我替他们说两句 真心话 !! (含德哥讲解PG的彩照)...

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2390人左右 1 + 2 + 3 + 4 +5 + 6 + 7)(1 2 3 4 5 群均已爆满,6群突破300人) 小声说一...

sql server的专栏 1307

探索Vortex开源GPGPU:RISC-V SIMT架构(2),指令Decode

本文分析了Vortex RISC-V内核的Decode模块设计。文章详细介绍了指令译码过程,包括操作码、功能码和寄存器字段的提取,以及不同类型指令(R/I/S/B/U/UJ)的立即数处理。重点阐述了基于操作码和功能码的分层译码逻辑,包括ALU运算、分支跳转、系统调用等指令的译码规则。此外,还描述了定制指令的处理机制以及与调度器的握手协议。Decode模块通过组合逻辑实现快速译码,并将结果传递给下级Issue模块,同时协调指令流控制。

weixin_55313207的博客 1793

嵌入式u-boot最全面试题及参考答案(5万字长文持续更新)

例如,在一个便携式设备中,U-Boot 在启动时初始化电源控制器,将输出电压设置为合适的值。命令是u-boot构建过程中用于配置u-boot选项的命令。在嵌入式系统中,启动画面(也称为启动Logo或Splash Screen)是展示给用户的第一印象,它可以包含公司的标志、产品的名称或其他相关信息。u-boot允许通过环境变量来进行配置,这使得开发者可以根据不同的硬件平台和项目需求灵活地调整u-boot的行为。写入操作可以是字节级别的,也可以是块级别的,具体取决于设备的性能和操作系统的需求。

大模型大数据攻城狮的专栏 1002

德哥:从Oracle DBA到PostgreSQL布道者

云栖社区明星专家德哥日前在IT168的盛会——2016 第七届中国数据库技术大会做了分享。整理文章见《从Oracle DBA到PostgreSQL布道者》 ,很有价值,转载到社区,分享给更多朋友。 嘉宾介绍: PostgreSQL 中国社区发起人 周正中 周正中,网名德哥 ( digoal ),PostgreSQL 中国社区发起人之一,Postgre...

weixin_33898233的博客 411

【量化入门】Tushare库获取公募基金的历史净值

在本文中,我们将介绍如何使用Python的Tushare库获取公募基金的历史净值。

木头大左的博客 1145

PostgreSQL、PostGIS资料汇总,博文汇总,案例博文

PostgreSQL、PostGIS资料汇总,博文汇总,案例博文一、仓库说明1.1 德哥是谁?1.1.1 贡献1.1.2 社区贡献1.2 最佳阅读方式二、德哥的PostgreSQL, Greenplum 学习视频三、PostgreSQL资料(持续更新)3.1 PostgreSQL学习系列3.1.1 不睡觉的怪叔叔的PostGIS教程3.1.2 菜鸟教程-PostgreSQL系列3.2 PostgreSQL优势3.3 PostgreSQL笔记3.4 PostgreSQL课程3.5 PostgreSQL案例3.

爱是与世界平行 1218

ABAP CDS 和 HANA SQL 的关系

摘要: ABAP CDS与HANA SQL既有紧密联系又有本质区别。ABAP CDS作为语义数据建模框架,在SQL基础上扩展了业务语义层,通过注解(annotations)、关联关系(associations)等机制为数据附加业务含义,并支持权限控制、客户端处理等ABAP平台特性。虽然CDS实体最终会转换为HANA数据库对象执行,但它并非简单的SQL封装,而是构建了独立于数据库的语义模型。二者在数据库执行层深度融合,ABAP CDS通过代码下推技术将计算任务优化到HANA层完成。实际开发中应优先使用ABAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 863

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

德歌:PostgreSQL独孤九式搞定物联网

【直播预告】5月27日,阿里云高级技术专家德歌将在云栖社区直播《云数据库RDS for PostgreSQL最佳实践》:https://yq.aliyun.com/webinar/join/15,为你分享阿里云云数据库PostgreSQL的最佳技术实战,包括PostgreSQL使用技巧、上云实战、数据迁移与同步、插件使用等内容,纯干货。 物...

weixin_34261415的博客 339

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

众里寻它千百度:周正中(德哥)细数从Oracle到PG这些年的摸索与发现

2016年10月27日-28日,Postgres中国用户大会 2016(PG大象会)在上海浦东盛大举行,为广大技术人开放了交流互动的端口,汇集国内外志同道合之士,吹响PG大牛集结号,秉持开源的理念,以拓展Postgres数据库在中国乃至整个世界范围内的影响力为发展目标,真正实现了“干货井喷”的会议日程,诚意满分,精彩不断。大会期间,优快云记者有幸邀请到阿里云高级技术专家周正中(德哥),围绕一些大...

Joy0921的博客 2207

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

第二章:德哥之PostgreSQL在Linux中的软件安装

参考:第二章:安装,DBA不可不知的操作系统内核参数

喜欢打篮球的普通人 1705

德哥的PostgreSQL私房菜 - 史上最屌PG资料合集

看完并理解这些文章,相信你会和我一样爱上PostgreSQL,并成为一名PostgreSQL的布道者。 资料不断更新中... ... 沉稳的外表无法掩饰PG炙热的内心 。 扩展阅读,用心感受PostgreSQL 内核扩展 《找对业务G点, 体验酸爽 - PostgreSQL内核扩展指南》 https://yq.aliyun.com/arti...

weixin_34318272的博客 1280

PostgreSQL体系化系列直播 — 周正中(德哥)

PostgreSQL体系化系列直播共计15课时,目标群体:开发者、DBA、运维、架构师、企业去O决策者;从PG的历史、社区、架构、客户群、应用场景、生态角度了解PG,同时对于PG与其他企业级商用数据库产品有一个大致的差异化理解,了解PG的学习资料,技术交流圈子。熟悉PostgreSQL在Linux中的软件安装...... 直播详情 第四章:应用开发者指南...

weixin_34242658的博客 950

德哥的PostgreSQL私房菜

德哥的PostgreSQL私房菜 扩展阅读,用心感受PostgreSQL 内核扩展 《找对业务G点, 体验酸爽 - PostgreSQL内核扩展指南》� https://yq.aliyun.com/articles/55981 《当物流调度遇见PostgreSQL - GIS, 路由, 机器学习 (狮子,女巫,魔衣橱)》� https://yq.aliyun.com/articles/57857 《弱水三千,只取一瓢,当图像搜索遇见PostgreSQL (Haar wavelet)》� https://yq

秋̶᭄ꦿ攻城狮࿆ྂ 772

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 477

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 432

【基于 WebSocket 的多用户网页五子棋】—— 数据管理模块

但行好事,莫问前程

qq_42996461的博客 250

C++算法(七)

C++ stack算法题和一些客观题

2503_94479566的博客 378

OpenClaw 深度调查:把 AI 助手做成你自己的控制平面

对 openclaw/openclaw 的完整技术尽调:Gateway 架构、Agent 运行时、工具与沙箱、30 个消息通道、181 个插件、安全信任边界、工程代价与采用建议。17 章 / 10 张图,全部数字标注口径,数据截至 2026-10-31。

厚积薄发 294
上一篇: PostgreSQL 日报| GiST 索引扫描可见性缺陷(8 月 3 日)
下一篇: PostgreSQL 日报| pgAdmin 4 v9.17 修复七个安全漏洞(8 月 4 日)
IvorySQL
博客等级 码龄5年 745粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值