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

️ PostgreSQL 技术文章

移动一个词如何能将查询速度提升 10–50

PostgreSQL 性能优化显示,在 EXISTS 子句中移动"not"可以提供 10-50 倍的速度提升。两个功能等效的查询在软删除模式上显示出显著的性能差异:Query 1 使用 EXISTS 与活跃帖子(98% 数据)的部分索引,而 Query 2 使用 NOT EXISTS 与已删除帖子(2% 数据)的部分索引。Query 2 的性能快 32 倍,缓冲区读取少 29 倍。关键见解:"在索引中未找到"完全跳过堆获取,而"找到"在活跃更新的表上需要堆验证。Query 1 执行 527k 次堆获取,而 Query 2 执行 10k 次获取。此优化适用于任何布尔少数模式,其中一小部分携带标志。

postgres.ai/blog/202603…

"AI DBA"的困境

pganalyze 的 Lukas Fittl 认为"AI DBA"概念从根本上误解了 AI 在数据库管理中的应用方式。他认为将 AI 框架化为 DBA 替代品混淆了执行工作与承担结果责任,在生产问题出现时会造成责任空白。Fittl 主张不应替换数据库专家,而应使用 AI 工具来赋能应用工程师和数据平台团队。LLM 擅长信息检索、代码交叉引用和弥合团队间的知识差距,但无法为生产决策承担责任。解决方案是让平台团队提供安全、策划好的 AI 工具,帮助工程师更有效地使用数据库,同时保持对生产结果的明确所有权和责任。

pganalyze.com/blog/the-ai…

PGCA 非营利赞助等级和网站的更新

PostgreSQL Community Association (PGCA)这一保护 PostgreSQL 品牌资产的官方非营利组织于 2026 年 2 月更新了其赞助级别和网站。PGCA 提高了其最高两个赞助等级 Benefactor 和 Patron 的标准,于 2026 年 2 月 1 日生效,理由是商标保护成本不断上升。所有其他赞助级别保持不变。该组织还在 www.postgres.ca 推出了现代化网站,以更好地解释其使命、商标使用指南和捐赠选项。更新的赞助说明书可在赞助商页面查看。这些变化旨在支持 PGCA 继续保护 PostgreSQL 商标和品牌资产。

www.postgresql.org/about/news/…

为什么添加更多索引最终会使事情变得更糟

添加更多 PostgreSQL 索引由于写放大效应不可避免地会降低写性能。每个索引都会对每个 INSERT 操作产生"固定税收"——拥有 5 个索引的表每行需要执行 6 次写操作(1 次堆写入 +5 次索引写入)。在 50,000 次插入/秒的高摄入率下,这变成 300,000 次写操作/秒,产生大量 I/O 开销和 WAL 膨胀。时间戳索引因"热右边缘"行为遭受额外问题,单调递增的值会导致 B-tree 最右叶页持续分裂。这会产生反馈循环:索引减慢写入,导致缓冲区压力和查询性能下降,进而添加更多索引。问题随摄入率复合增长——在 500 次插入/秒时工作正常的索引在 50,000 次插入/秒时由于线性的每索引成本倍数变得有问题。

www.tigerdata.com/blog/why-ad…

PostgreSQL Hacker 电子邮件讨论精选

Buffer locking 很特殊(hints、checksums、AIO writes)

Andres Freund 报告已推送缓冲区锁定优化系列中的多个补丁,并提供了剩余更改的更新版本。讨论围绕 MarkBufferDirtyHint()操作和 heap_inplace_update_and_unlock()功能的改进展开。Noah Misch 对 v12-0001 补丁给出了积极评价,而 Heikki Linnakangas 建议改进注释。性能测试显示显著收益:在双插槽机器上,流水线 pgbench 只读工作负载提升 7-8%,无流水线时由于上下文切换瓶颈收益较小为 1-2%。更极端的工作负载如索引嵌套循环连接显示高达 25% 的改进。这些优化减少了竞争缓存行上的原子操作,特别有利于内部 btree 页面。Andres 建议类似的优化可以应用于 PinBuffer() + LockBuffer()组合,但需要更复杂的实现和新的 API。

www.postgresql.org/message-id/…

修复未初始化的 xl_running_xacts 填充

Alexander Kuzmenkov 正在处理 PostgreSQL WAL 记录中未初始化填充的问题,得到了 Heikki Linnakangas 对全面初始化的支持。Kuzmenkov 在整个代码库中发现了 42 个类似的案例,并创建了一个补丁,使用 memset 而不是结构初始化(= { 0 })来初始化 WAL 记录填充,因为后者在某些配置下无法正确初始化填充。该补丁还删除了与 WAL 相关的 Valgrind 抑制,在这些更改下回归测试通过了 Valgrind 检测。然而,Kuzmenkov 后来承认进行了一些可能不必要的更改,例如对没有填充的结构的 ginxlogInsertListPage 的修改,表明需要更仔细地逐个审查每个案例。

www.postgresql.org/message-id/…

消除 xl_heap_visible 以减少 WAL(并最终在访问时设置 VM)

Melanie Plageman 推送了额外的介绍性提交,并分享了消除 xl_heap_visible 以减少 WAL 补丁集的 v37 版本。一个重要变化是移除了 get_conflict_xid() 函数,经分析确定这是不必要的,因为在当前代码中不会出现页面全可见但非全冻结的场景。冲突 XID 计算已被简化,处理三种情况:设置 VM 位、冻结页面和修剪操作。补丁在所有已识别场景中正确设置冲突范围为 InvalidTransactionId。一个剩余问题涉及插入操作期间的 pd_prune_xid 行为 - 是否在正常模式和重放模式中都防范为非正常事务 ID 设置它以保持一致性,特别是考虑到 bootstrap 模式对 heap_insert() 的使用。

www.postgresql.org/message-id/…

在发布中跳过架构更改

讨论围绕 PostgreSQL 发布的新引入的 EXCEPT 子句展开,该子句允许从 ALL TABLES 发布中排除特定表。语法 CREATE PUBLICATION pub FOR ALL TABLES EXCEPT TABLE (a, b, c)在 Amit Kapila 审查后最近被推送。Masahiko Sawada 对语法不一致性表示担忧,质疑为什么排除列表使用 TABLE (a, b, c)格式,而包含列表使用 TABLE a, TABLE b, TABLE c 格式,以及 EXCEPT 后的 TABLE 关键字是否冗余。

Shveta Malik 为设计决策辩护,解释选择 TABLE 关键字和括号是为了未来扩展性,以支持排除其他对象类型如模式或序列,并在复杂的混合包含/排除场景中避免歧义。然而,Sawada 仍然担心用户混淆,并建议 TABLE (...)语法与现有 PostgreSQL 用法冲突。他提出了 EXCEPT TABLES (t1, t2)或将所有排除项分组在括号中等替代方案。

小的补丁改进继续进行,Nisha Moond 对 v61 版本提供反馈,导致 v62 版本解决了未使用参数和错误消息一致性问题。

www.postgresql.org/message-id/…

在逻辑复制中确认远程刷新之前退出 walsender

Alexander Korotkov 修订了一个补丁,解决了逻辑复制中 walsender 关闭行为的问题。该补丁引入了新的 GUC 参数`wal_sender_shutdown_timeout`,允许 walsender 在确认远程刷新之前退出,默认值为-1(禁用)以保持现有行为。该参数可以按连接设置,影响逻辑和物理 WAL 发送器。Greg Sabino Mullane 提供了详细的审查,发现了几个问题:文档清晰度问题、术语不一致(应使用"Timeout"而非"TimeOut")、关于关闭信号条件逻辑的疑问、对无条件发送完成消息的担忧,以及要求提供更多信息性错误消息。审查还指出了多个拼写错误("successfull"应为"successful","receival"应为"receipt"),并建议改进测试覆盖率,包括测试正超时值和验证警告消息是否发出。

www.postgresql.org/message-id/…

️ 行业新闻

Google 完成对云网络安全初创公司 Wiz 的 32 亿美元收购

Google 正式以 320 亿美元全现金收购了以色列网络安全公司 Wiz,这是 Google 历史上最大的收购交易。该交易在两家公司首次宣布后整整一年完成。Wiz 专门从事云网络安全解决方案,为云基础设施提供安全工具和服务。此次收购显著增强了 Google 的网络安全能力和云产品,使公司能够在企业安全市场中更好地竞争。320 亿美元的价格标签反映了对网络安全公司的高价值评估,因为组织越来越多地将运营迁移到云端并面临日益增长的安全威胁。

techcrunch.com/2026/03/11/…

Replit 在达到 30 亿美元估值 6 个月后获得 90 亿美元估值

在线编程平台 Replit 通过新一轮 4 亿美元融资获得 90 亿美元估值,在短短六个月内从之前的 30 亿美元估值实现了惊人的三倍增长。该公司提供基于云的开发环境和编程工具,用户群和收入都经历了快速增长。Replit 设定了到年底达到 10 亿美元年度经常性收入(ARR)的雄心勃勃目标。这种戏剧性的估值增长反映了对易于使用的编程平台和开发工具的强劲需求,特别是随着更多个人和组织拥抱编程和软件开发。这笔资金可能将支持 Replit 的扩张和产品开发工作。

techcrunch.com/2026/03/11/…

Rivian spin-out Mind Robotics 融资 5 亿美元用于工业 AI 驱动机器人

从电动汽车制造商 Rivian 分拆出来的初创公司 Mind Robotics 为其工业 AI 驱动机器人筹集了 5 亿美元资金。该公司由 Rivian 创始人 RJ Scaringe 创立,专注于为工业应用开发人工智能驱动的机器人解决方案。Mind Robotics 计划使用来自 Rivian 工厂运营的数据训练其 AI 系统,并在 Rivian 的制造设施内部署其机器人。这轮大额融资显示了投资者对工业环境中 AI 驱动自动化潜力的巨大信心。该初创公司与 Rivian 的联系为其提供了现实世界的测试环境和运营数据,以完善其制造应用的机器人系统。

techcrunch.com/2026/03/11/…

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com