PG 技术日报|2026-07-04
PostgreSQL 技术文章Montreal 开发者大会Developer U 计划补丁更新摘要EDB 内部 PostgreSQL 开发培养计划的成员在蒙特利尔进行了第三次线下聚会。文章总结了此次会议讨论的议题、已提交的补丁内容以及该小组下一步的工作方向。本次聚焦点集中在查询规划器的改进上体现了通过结构化导师机制和线下协作培养新 PostgreSQL 贡献者的持续努力。原文链接https://pgnexus.ai/tech-blogs?urlhttps%3A%2F%2Fenterprisedb.com%2Fblog%2Fmeeting-montreal-developer-u-planner-patchesPostgreSQL Hacker 电子邮件讨论精选在前端工具中停止使用已弃用且不安全的 PQcancelJelte Fennema-Nio 提交了 v8 补丁旨在替换前端工具中已废弃且存在安全隐患的 PQcancel。前两个提交对现有取消逻辑进行了简化可独立合并。主要改动包括移除 psql 中与 CancelRequested 重复的 cancel_pressed 变量、修复 parallel_slot.c 中的取消处理逻辑以及将 cancel_pipe 相关逻辑提取为公共辅助函数在 pg_dump 和 wait_on_slots() 中复用。Heikki Linnakangas 曾建议通过新增 PQrequestCancel() 接口将取消功能内置到 libpq 中但 Jelte 认为改动幅度过大且与 pg_dump 发送取消请求后立即退出的模型存在冲突暂不采纳。原链接https://pgnexus.ai/hacker-discussions?subjectDon%27t%20use%20the%20deprecated%20and%20insecure%20PQcancel%20in%20our%20frontend%20tools%20anymore行模式识别本次讨论围绕 PostgreSQL Row Pattern RecognitionRPR特性展开。Jian He 提交了 v50 补丁重构了导航偏移量的求值方式原本在 ExecInitExprRec、ExecEvalRPRNavSet 等多处分散求值现统一由 eval_define_offsets 在执行器初始化阶段集中处理。第二个补丁移除了共享的 nav_traversal_walker改为在各文件中使用独立的静态 walker以提升可读性。Tatsuo Ishii 对 v50-0006 中代价模型的变更提出疑问——新版按 DEFINE 变量计费而非原来的 PATTERN 变量。Henson Choi 对此作出解释由于解析器已保证每个 DEFINE 变量都出现在 PATTERN 中两种方式实际上对相同的变量集合各计费一次代价估算结果不变只是消除了冗余的外层遍历。原链接https://pgnexus.ai/hacker-discussions?subjectRow%20pattern%20recognition修复几个消息措辞和格式的问题Peter Eisentraut 提交了一组与 PostgreSQL 消息措辞及格式整理相关的补丁。此前 Ashutosh Bapat 提出了若干代码风格改进建议包括将变量名从objdesc改为rel以与周边代码保持一致将getObjectDescriptor()直接嵌入appendStringInfo调用中而非单独赋值给变量以及将InitStringInfo()的位置移至更靠近实际使用处。Bapat 还指出对getObjectDescriptor()返回字符串的 pfree 操作应在代码中保持一致性。补丁分为两部分0008 为原始补丁0009 为 Bapat 的代码风格修改。Eisentraut 确认上述更改已全部提交。原链接https://pgnexus.ai/hacker-discussions?subjectA%20few%20message%20wording%2Fformatting%20cleanup%20patches[PATCH] 修复 bug #19474在非确定性排序规则下 LIKE 无法匹配字面反斜杠的问题该补丁v3旨在修复 bug #19474——在使用非确定性排序规则时LIKE 无法匹配字面反斜杠。Tom Lane 审查后认为补丁尚未准备好理由是它引入了不必要的复杂性来解决一个并不存在的问题。由于 PostgreSQL 在后端安全编码下运行多字节字符的单个字节不可能匹配\、_或%因此现有代码不考虑多字节边界并无错误。Lane 承认真正的 bug 在于连续反斜杠的处理逻辑有误需要修复但补丁不应为不存在的问题增加额外复杂度。原链接https://pgnexus.ai/hacker-discussions?subject%5BPATCH%5D%20Fix%20for%20bug%20%2319474%3A%20LIKE%20fails%20to%20match%20literal%20backslashes%20with%20nondeterministic%20collationsuuidv7 函数对 1970-01-01 之前的日期处理不当该线程讨论了uuidv7错误接受 1970-01-01 之前时间戳的 bug。Baji Shaik 根据 Masahiko Sawada 的审查意见提交了 v4 补丁修复方案改为在 PostgreSQL-epoch 单位下预计算合法时间戳范围UUIDV7_MIN_TIMESTAMP/UUIDV7_MAX_TIMESTAMP直接对移位后的TimestampTz进行校验无需再转换回 Unix epoch从而彻底消除了溢出风险。两处边界检查也合并为单个if语句。处理无限区间的 0001 补丁与 v3 相比保持不变。Zsolt Parragi 对 v4 给予正面评价仅提出一处可选的细节建议某条测试注释中提到overflow的说法已不再准确建议简化措辞。原链接https://pgnexus.ai/hacker-discussions?subjectuuidv7%20improperly%20accepts%20dates%20before%201970-01-01[GSoC 2026] B-tree 索引臃肿优化方案讨论Andrey Borodin 回复了一个 GSoC 2026 关于 B-tree 索引膨胀优化的提案提出两项设计简化建议。其一前向扫描在页面合并后的去重无需保存 TID 数组savedMergeTids只需记录最后返回的 (key, heapTID) 作为单一水位线即可因为叶层已按该字段全序排列。这也消除了 Matthias 指出的并行扫描状态过大的问题。其二他认为 MERGED_AWAY 页状态在语义上与现有的已删除/墓碑页生命周期完全一致左页L可直接复用现有的 HALF_DEAD→DELETED(safexid)→可回收流程从而避免当前方案中两个 horizon的回收代价。他的结论是存活右页上的 BTP_MERGED 才是唯一真正需要新增的概念。原链接https://pgnexus.ai/hacker-discussions?subject%5BGSoC%202026%5D%20-%20B-tree%20Index%20Bloat%20Reduction%20-%20Approach%20%26%20Questions行业新闻Anthropic 与 Samsung 探讨定制 AI 芯片开发合作摘要据 TechCrunch 报道Anthropic 正与 Samsung 就研发定制 AI 芯片展开洽谈。此前OpenAI 刚宣布与 Broadcom 合作推出自研 AI 芯片。主要 AI 公司纷纷寻求摆脱对第三方硬件的依赖、针对自身工作负载优化性能这一趋势正推动行业加速布局自有芯片。目前双方尚未披露芯片规格、研发时间表或合作条款等细节但此举凸显了 AI 企业在专用硬件基础设施领域愈发激烈的竞争态势。原文链接https://pgnexus.ai/tech-news?urlhttps%3A%2F%2Ftechcrunch.com%2F2026%2F07%2F02%2Fanthropic-is-discussing-a-new-custom-chip-with-samsung%2FMark Zuckerberg 坦言 Meta AI 代理进展不及预期摘要据报道Meta CEO Mark Zuckerberg 在一次内部会议上向员工坦言公司 AI 智能体的研发进展未能达到预期。这一罕见的公开表态揭示了这家全球最大科技公司之一在构建实用 AI 智能体方面所面临的挑战。尽管 Meta 持续在旗下平台上加大 AI 投入但 Zuckerberg 的表态表明内部预期与实际进展之间存在落差。考虑到 Meta 在 AI 领域的雄心壮志及其与 OpenAI、Google 等竞争对手争夺资源的力度此番表态尤为引人关注。原文链接https://pgnexus.ai/tech-news?urlhttps%3A%2F%2Ftechcrunch.com%2F2026%2F07%2F02%2Fmark-zuckerberg-tells-staff-that-ai-agents-havent-progressed-as-quickly-as-hed-hoped%2F社交媒体动态Postgres 数据校验和的前世今生从 9.3 到 19 的演进摘要Postgres 自 2013 年的 9.3 版本起就支持数据校验和但时至今日仍有大量生产集群未启用该功能。主要原因在于启用成本过高需要完全停机通过 pg_checksums 扫描全部磁盘页并重建所有副本整个过程可能耗时数小时且无法回滚。Postgres 18 将新集群的默认值改为开启但对已有集群无能为力。Postgres 19 为此引入了 pg_enable_data_checksums() 函数可在不停机的情况下在后台完成转换整个过程通过 WAL 记录日志备库也会自动同步更新。与此同时data_checksums 参数现已改为枚举类型方便追踪转换进度。原文链接https://pgnexus.ai/social-media?urlhttps%3A%2F%2Fwww.linkedin.com%2Fposts%2Fpgedge_postgresql-postgres-dba-activity-7478831533554905092-Mtp8我们以为世界是静止的摘要CYBERTEC首席执行官Hans-Juergen Schoenig在GITEX AI EUROPE上发表观点指出当今商业环境正面临日益加剧的不稳定性。他强调地缘政治风险、网络安全威胁以及供应链脆弱性是大多数企业长期低估的深层隐患。在此背景下构建具备韧性与合规性的数据库基础设施已不再是锦上添花而是这个时代的核心挑战。他的核心论点是认为世界一成不变是一种危险的误判企业必须从技术底层着手主动应对变化。原文链接https://pgnexus.ai/social-media?urlhttps%3A%2F%2Fwww.linkedin.com%2Fposts%2Fcybertec-postgresql_gitexeurope-postgresql-cybertec-activity-7478689962952151040-s9bXAddepar 借助 Databricks 统一数据、分析与 AI 基础设施摘要Addepar 平台管理着近 9 万亿美元的资产目前已全面采用 Databricks 来统一数据、分析与 AI 基础设施。在此基础上Addepar 推出了原生 AI 助手 Addison帮助投资专业人士分析投资组合、主动挖掘洞察并借助受治理的金融数据自动化工作流程。迁移至 Databricks 后Addepar 的数据管道成本降低了 60%基础设施节省超过 200 万美元管道开发速度提升了 5 倍有效支撑了平台规模化生成式 AI 工作流的落地。原文链接https://pgnexus.ai/social-media?urlhttps%3A%2F%2Fwww.linkedin.com%2Fposts%2Fdatabricks_databricks-x-addepar-activity-7478884826813493249-3Zxp