由 John Doe 六月 24, 2026
Linux 的背后是 IBM 和 Google,而 Postgres 的身后也有微软和 EDB 这样的企业。

目录
微软参与 PostgreSQL 内核开发
微软持续投入旗下 PostgreSQL 开源贡献团队,并重申对开源事业的承诺。该团队持续为上游 PostgreSQL 推进大型、高目标开发项目,让所有 Postgres 用户都能用上这些新增功能。
团队成员覆盖多领域专业技术,我们对 Postgres 的贡献几乎涉及数据库全部核心模块,包括查询规划器、执行器、存储 / IO 子系统、安全能力、运维与可管理性优化、全新 SQL 语法特性等诸多方向。
微软支持 Postgres 开发的初心和承诺始终未变:
开源生态想要蓬勃发展,既离不开志愿者的自发付出,也少不了商业厂商的资金支撑。开源开发者同样需要谋生!想要让 Postgres 开源生态持续繁荣,微软这类企业就必须出资扶持 PostgreSQL 内核开发,而我们也一直在践行这件事。
PostgreSQL 是一套复杂软件,全球大量核心业务系统都依托它运行。为了在 Azure 云平台提供极致使用体验,我们必须吃透它底层运行原理。团队内部拥有 PostgreSQL 代码提交者与核心贡献者,既能在公司各业务部门内部共享技术知识,也能直接解答线上故障、扩展插件开发相关的各类内部问题。
当下云平台的业务规模,是绝大多数本地自建数据库从未接触过的,由此催生了大量独有的云数据中心难题,其中性能相关问题尤为突出,亟待专项优化。微软内部深耕 Postgres 的专家团队,选择直接在上游 PostgreSQL 内核中解决这类云规模场景痛点。除此之外,团队深厚的 Postgres 技术储备,也能让 Azure 云数据库客户更加信赖我们的云服务。
企业出资资助 PostgreSQL 开发者还有另一重价值:让开发者拥有长期稳定的工作保障,得以攻坚具备长远价值的重大架构革新、突破性代码改造。尤其是微软 Postgres 贡献团队,目前正攻坚多项大型底层架构调整(例如异步 IO),这类工作周期长达数年、需要全职人力持续投入,若无商业资金扶持根本无法落地。
团队 PostgreSQL 19 版本代码贡献亮点

重磅消息:PostgreSQL 19 首个测试版已正式发布,PG19 预计将于 2026 年 9 月左右推出正式商用版本。
以下为微软团队独立或联合他人提交至 PostgreSQL 19 的约 440 次代码提交核心亮点。
开源项目重视每一位贡献者的署名,在此需要说明:下文所有 PG19 相关开发工作,均是微软与全球各地 Postgres 开发者、贡献者协作完成,其中包含大量微软外部人员。这正是 PostgreSQL 开源项目的协作模式,我们也十分荣幸能成为其中一员。
性能优化
-
元组解包提速
该优化大幅提升宽表(多固定长度字段表)的扫描效率。补丁新增专用快速循环逻辑,可基于预计算偏移量读取字段;同时精简属性结构体,降低内存占用。(附对应提交链接:元组解包优化提交、CompactAttribute 精简结构体提交)
-
外键校验快速路径
整套合入补丁为外键校验新增高速执行逻辑:不再通过 SPI 接口,直接检索关联索引;触发器批量执行时复用执行上下文;采用数组式索引检索减少初始化开销。针对单列、无分区主键表批量插入这类高频场景,性能最高可提升约 2.9 倍。
-
基于 SIMD 指令的 COPY 分隔符高速匹配
优化
COPY FROM文本 / CSV 解析逻辑:借助 SIMD 单指令多数据流技术,批量处理输入数据,快速跳过不含分隔符、换行、转义符的字节,替代原状态机逐字节校验逻辑。特定场景下性能提升最高可达 60%,且无任何性能退化。 -
并行 TID 区间扫描
支持多并行工作进程执行基于 ctid 区间过滤的查询,对逻辑复制初始化、数据迁移、自定义 ETL 脚本场景增益显著。
-
低开销 EXPLAIN 时序计数器优化
直接调用 x86 平台 RDTSC 硬件计时指令,大幅降低
EXPLAIN ANALYZE的计时开销。原计时逻辑会造成流水线阻塞,优化后 EXPLAIN 分析速度显著提升。 -
访问时可见性地图即时更新
支持 SELECT 查询执行过程中同步标记页面为全可见状态。优化后可触发更多仅索引扫描(此前必须等待 VACUUM 清理完成),同时减少 VACUUM 流程的 IO 读写量。
-
降低 VACUUM 产生的预写日志 (WAL) 量
多组补丁优化 VACUUM 与
COPY FREEZE的 WAL 日志生成逻辑:不再单独生成堆表可见性 WAL 记录,将相关信息整合进现有日志条目,堆表清理、批量冻结拷贝两种场景下,单数据块产生的 WAL 日志数量直接减半。既加快清理与批量导入速度,也节省磁盘存储空间。(附提交编号:d96f87332b3、add323da40a、1252a4ee286)
全新 SQL 特性
SQL/PGQ 属性图查询
该功能是 ISO SQL:2023 标准第 16 部分,支持在现有关系表之上定义图结构,并通过专用模式匹配语法执行图查询。本重磅功能由 Peter Eisentraut 主导,微软团队阿舒托什・巴帕特协同开发。
落地到 PostgreSQL 的实际价值:无需切换数据库、无需额外安装扩展、无需将数据同步至独立图数据库,仅依靠原生 Postgres,就能用简洁的图查询语法实现社交网络关系遍历、依赖关系图谱、欺诈路径识别、供应链链路分析等场景。
运维能力升级
-
异步 IO 工作线程自动扩缩容
补丁重构 PostgreSQL 异步 IO 子系统的线程调度逻辑,废除固定
io_workers静态配置:负载升高时自动扩容 IO 线程池,空闲超时后自动缩容,无需人工预估静态线程数量。 -
新增 EXPLAIN (IO) IO 可视化分析项
为 EXPLAIN 命令新增 IO 参数,在
EXPLAIN ANALYZE输出中为每一类扫描节点增加 IO 监控指标,适配基于 ReadStream 接口的执行节点,可展示预取队列指标(平均 / 最大预取距离、队列容量)与 IO 请求统计数据。运维人员可直观查看每一层扫描底层 ReadStream / 异步 IO 层的运行状态,不再只能依靠缓冲区指标间接判断。
安全与可靠性增强
-
漏洞 CVE-2026-2006 修复
修改底层字符串长度计算函数,若输入字符串末尾存在不完整多字节字符,直接抛出错误。底层设计思路为即时校验编码异常:多字节长度底层函数主动识别并拒绝截断、残缺字符,而非静默忽略。
加固 PostgreSQL 多字节编码处理逻辑:存储数据中出现残缺字符通常代表数据损坏或编码逻辑缺陷,主动抛出报错远比静默计算出错误字符长度更安全。
-
在线开启数据校验和
此前如需开启校验和检测数据损坏,仅能在数据库初始化 initdb 阶段配置,或关停整个数据库集群、全量计算文件校验和。大型生产库停机成本极高,本次优化支持集群运行时后台异步计算并开启校验和,无需停机。
-
服务端 SNI(服务器名称指示)支持
PostgreSQL 19 新增服务端 SNI 能力,新增配置文件
$datadir/pg_hosts.conf,用于配置主机名、证书、私钥映射关系。数据库服务端在 SSL 握手阶段读取 TLS 主机名扩展字段,自动匹配对应连接使用的 SSL 证书、私钥与根证书。单套 PostgreSQL 实例可根据客户端连接的域名,动态下发不同 SSL 证书。
底层铺垫与未来规划
-
缓冲区管理器锁机制优化
安德烈斯・弗伦德持续重构缓冲区管理与锁竞争逻辑,为写入操作接入异步 IO 铺平道路。优化实现缓冲区页面解锁、取消页钉住合并为单一原子操作,pgbench 基准测试显示性能最高提升 25%。
-
索引预取底层基础设施搭建
索引预取功能虽未在 PG19 正式上线,但本版本周期已完成全部核心底层改造:包含完整设计方案、异步 IO 基础设施前置优化,同时规避各类潜在性能退化问题,该功能已具备在后续版本合入的完整基础。
-
共享内存弹性扩容前置开发
阿舒托什与海基在 PG19 中优化共享内存管理框架,为未来版本实现无需重启数据库即可修改 shared_buffers 共享缓冲区参数做铺垫。PG19 版本已支持小型共享内存结构的扩展插件,可在数据库启动后动态加载创建,无需配置
shared_preload_libraries、无需重启服务。
以上仅为微软团队向开源 PostgreSQL 贡献的部分核心功能,并非完整清单,更未涵盖补丁评审、社区新人指导等全部工程工作。以下为量化数据:
截至 2026 年 5 月 31 日 微软 PostgreSQL 19 版本代码贡献数据
| 统计项 | 数值 |
|---|---|
| 微软参与开发的 PG19 代码提交次数 | 440 次 |
| 含微软作者 / 联合作者的总提交量 | 3088 次 |
| 微软贡献提交占 PG19 全部提交比例 | 14.2% |
| 微软完成的 PG19 补丁评审次数 | 907 次 |
| 经过微软团队评审的 PG19 总提交量 | 5603 次 |
| 微软评审覆盖提交占 PG18 总提交比例 | 16.2% |
解读数据需注意三点:
- 提交次数不代表工作量均等:部分提交仅小幅修改,部分提交架构复杂、影响范围极大。提交次数可作为参考指标,但无法精准衡量投入人力与功能价值;尽管如此,该数据仍是行业普遍关注的维度,因此我们对外公开。
- 大量提交存在多名作者与评审者:PG19 中 440 次含微软署名的提交,由团队 19 名员工独立或联合完成,且大量提交联合了微软内外其他贡献者。这也是 Postgres 社区最珍贵的特质:开发者跨越企业、国家、大洲协同开发。
- 代码开发只是贡献的一部分:代码编写与补丁评审是 Postgres 项目的核心支撑,但并非全部。本文后续会介绍团队其他贡献方向,例如 Citus 等扩展插件开发、社区运营建设等。