PostgreSQL 技术日报 (3月30日)|内核补丁密集更新,REPACK 并发与索引预读取进展

🔔 关注【IvorySQL开源数据库社区】公众号即可获取 PostgreSQL 一手干货与最新动态

📨 PostgreSQL Hacker 电子邮件讨论精选

🧩 REPACK 的并发执行选项

Alvaro Herrera 对 REPACK CONCURRENTLY 补丁系列提供了最新进展。他表示补丁 0001 状态良好,但在补丁 0003 准备好提交之前不会先提交它。他之前对补丁 0002 感到困惑,认为有问题并希望避免使用。主要重点是补丁 0003,它添加了 CONCURRENTLY 选项及相关功能。并发执行代码被很好地封装在单独的文件中(commands/repack_worker.c),并通过 include/commands/repack_internal.h 与其他部分共享数据结构。Herrera 通过使用联合体方法解决了 SET_VARSIZE() 编译问题,从而得以移除有问题的补丁 0002。与 v45 版本相比,此版本没有其他重要变化,他还未将补丁合并。

www.postgresql.org/message-id/...

🧩 pg_waldump: 支持从 tar 文件中直接解码 WAL 记录

该讨论解决了pg_waldump在现代FreeBSD系统上进行tarfile内WAL解码功能测试的稳定性问题。Tom Lane发现测试需要tar命令支持--no-read-sparse选项才能在FreeBSD上可靠运行。Thomas Munro提供了一个Perl实现来检查tar是否支持该选项,并在可用时有条件地使用它。提议的解决方案包括测试tar命令是否支持--no-read-sparse,如果支持就应用该开关。Andrew Dunstan审查了代码并认为可以接受,仅建议进行小的代码风格调整,避免使用全大写的变量命名。Thomas Munro同意采纳反馈意见并准备推送修复,表明该问题已准备好解决。

www.postgresql.org/message-id/...

🧩 索引预读取

Peter Geoghegan 发布了 index prefetching 补丁的 v18 版本,解决了之前评审中的大部分反馈意见。主要变更包括创建新的 heapam_indexscan.c 文件以改善代码组织,添加基于 slot 的索引扫描接口,将 VM 查找从 nodeIndexonlyScan.c 迁移到 heapam 中,以及引入 tableam_util_fetch_next_batch 作为其他 table AM 可复用的基础设施。补丁为 IndexScanBatchData 添加了 "isGuarded" 字段以增强断言功能,并移除了 amunguardbatch 例程必须具备幂等性的要求。性能优化方面包括在热点函数中使用 pg_assume() 以及在 UnlockBufferGetLSN 中采用原子操作。SATYANARAYANA NARLAPURAM 发现了两个问题:for 循环中存在差一错误以及 _bt_endpoint 函数返回类型不一致。Peter 确认了这两个问题,并提到 Andres 已经独立修复了第一个 bug,同意在下个版本中解决第二个问题。

www.postgresql.org/message-id/...

🧩 消除 xl_heap_visible 日志以减少 WAL 开销(最终支持访问时设置 VM)

Melanie Plageman 提交了 xl_heap_visible WAL 减少功能的第48版补丁,包含清理性改动但无功能变更。她计划很快推送此补丁,但仍在考虑是否将行标记和结果关系位图移至 estate 中,还是保留在 PlannedStmt 结构中。目前她倾向于保留在 PlannedStmt 中。此外,如果她决定替换 PlannedStmt 中的结果关系 RTI 列表,她指出无论如何都必须保留 bitmapset 版本。

www.postgresql.org/message-id/...

🧩 逻辑复制中,远程刷盘确认前关闭 walsender 进程

Alexander Korotkov回应了Fujii Masao在测试逻辑复制walsender补丁时遇到的关闭卡死问题。Korotkov报告说他在测试Andrey的v5补丁时无法重现挂起现象。他认为问题可能是WalSndWaitForWal()中缺少WalSndCheckShutdownTimeout()调用,并提供了一个补丁来解决这个潜在问题。Korotkov请求Fujii在Andrey的v5补丁基础上应用他的额外补丁重新测试,并建议将测试用例转换为038_walsnd_shutdown_timeout.pl文件中的Perl TAP测试,以便更好地集成到测试套件中。

www.postgresql.org/message-id/...

🗞️ 行业新闻

🧩 Elon Musk xAI最后一位联合创始人离职

据报道,Elon Musk的人工智能公司xAI又失去了一位联合创始人,原来的11位创始成员中现在只剩下两位。这次离职代表着这家AI初创公司出现了重大人员流失,该公司成立的目标是与OpenAI和Anthropic等老牌企业竞争。xAI持续的领导层变动引发了外界对公司内部稳定性的质疑,尤其是在其努力开发AI模型并在日益拥挤的人工智能市场中竞争的关键时期。这次最新的离职突显了Musk在各个企业中留住顶尖人才所面临的挑战。

🧩 Claude 付费用户数激增,成为消费者新宠

Anthropic的AI助手Claude在付费订阅方面正在快速增长,该公司表示今年的付费订阅用户数量增长了一倍多。虽然总用户数估算差异很大,从1800万到3000万不等,但付费用户的激增表明了强劲的市场接受度。这一增长使Claude成为消费者AI助手市场的重要竞争者。这一成功反映出消费者对AI服务付费意愿的提高,标志着从免费试验性使用向付费专业应用的转变。Anthropic的营收增长展现了AI市场的日趋成熟。

🧩 Bluesky 推出 AI 应用 Attie,让用户轻松定制信息流

Bluesky推出了Attie,这是一个由AI驱动的新应用程序,旨在帮助用户在开放社交网络协议atproto上构建定制信息流。该应用代表了Bluesky向人工智能工具的战略转向,让用户更容易创建个性化的内容体验。Attie利用AI技术简化了信息流定制过程,这一过程此前需要技术知识。这次发布展现了社交媒体平台如何整合AI来提升用户体验和参与度。这一工具可能通过提供更复杂的内容策划功能,帮助Bluesky从传统社交网络中脱颖而出。

techcrunch.com/2026/03/28/...

🌐 社交媒体动态

🧩 亲身体验:如何构建和交付真实世界的AI、应用与智能体

Databricks AI Days 为希望构建生产级AI应用和智能体的开发者及数据专业人士提供实战工作坊。活动涵盖三大核心主题:打造基于企业数据的高准确性AI智能体、使用托管Postgres数据库开发智能应用,以及实现跨分析与AI工作流的数据治理统一化。系列活动将在全球多个城市举办,包括阿姆斯特丹、芝加哥、华盛顿、巴黎、班加罗尔、悉尼和法兰克福等地。

www.linkedin.com/posts/datab...

🧩 数据工程日趋复杂,但不必成为你的拖累

《数据工程权威指南》是一本实用手册,旨在帮助数据工程师高效构建和扩展数据管道。书中提供操作指南、代码片段和真实案例,助力为AI、商业智能和分析工作负载交付高质量数据。本书涵盖四个核心领域:扩展ETL管道的模式、数据分析与AI工作负载的编排、管道可观测性的实现,以及使用Lakeflow进行管道管理。

www.linkedin.com/posts/datab...

🔥 HOW 2026 报名进行中

一场真正以技术为核心的 PostgreSQL 大会 HOW 2026 PostgreSQL & IvorySQL 技术峰会火热报名中 📍 2026 年 4 月 27 日 - 28 日|济南 早鸟优惠限时开放,扫码即刻锁定席位

相关推荐
2301_8135995520 小时前
Go语言怎么做秒杀系统_Go语言秒杀系统实战教程【实用】
jvm·数据库·python
NCIN EXPE1 天前
redis 使用
数据库·redis·缓存
MongoDB 数据平台1 天前
为编码代理引入 MongoDB 代理技能和插件
数据库·mongodb
极客on之路1 天前
mysql explain type 各个字段解释
数据库·mysql
代码雕刻家1 天前
MySQL与SQL Server的基本指令
数据库·mysql·sqlserver
lThE ANDE1 天前
开启mysql的binlog日志
数据库·mysql
yejqvow121 天前
CSS如何控制placeholder文字的颜色_使用--placeholder伪元素
jvm·数据库·python
搬砖的前端1 天前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6
oLLI PILO1 天前
nacos2.3.0 接入pgsql或其他数据库
数据库
m0_743623921 天前
HTML怎么创建多语言切换器_HTML语言选择下拉结构【指南】
jvm·数据库·python