PostgreSQL 技术日报 (3月19日)|当 AI 代理开始批量创建数据库

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

⚙️ PostgreSQL技术文章

🧩 2026年4月/5月黑客研讨会

Robert Haas正在组织一个PostgreSQL技术研讨会,计划在2026年4月/5月举行,重点讨论Masahiko Sawada在PGCon 2022上的演讲"Breaking away from FREEZE and Wraparound"。该研讨会将探讨PostgreSQL的vacuum freeze和事务wraparound机制,这些机制对数据库维护和防止事务ID耗尽至关重要。参与者可以通过提供的表单注册以接收会议邀请。Sawada已同意参与研讨会。

rhaas.blogspot.com/2026/03/hac...

🧩 Specific 如何为使用 Neon 的编码代理配置数千个数据库

Specific是一家Y Combinator公司,使用Neon的PostgreSQL平台为其编程代理云平台提供数千个数据库。该公司为每个编程任务创建独立的数据库实例,确保隔离并防止代理之间相互干扰。Neon的分支功能允许Specific快速从快照创建数据库副本,实现新任务数据库的即时可用性。联合创始人Iman Radjavi强调了Neon处理大规模场景的能力,具备即时数据库创建和分支功能,使其非常适合需要快速配置的代理管理基础设施。

neon.com/blog/how-sp...

🧩 加入我们在2026年4月30日在Yerevan举办的PGDay Armenia 2026

PGDay Armenia 2026将于2026年4月30日在Yerevan举行。这个社区驱动的技术会议由Armenia PostgreSQL User Group组织,旨在汇聚全球PostgreSQL专业人士和爱好者。论文征集已结束,但有兴趣的演讲者仍可联系组织者申请剩余演讲席位。会议日程将于2026年3月23日公布。赞助机会开放申请,早鸟票将在3月16日那周开始销售。与会者可参加技术演讲、交流活动,并探索亚美尼亚文化。

www.postgresql.org/about/news/...

🧩 从第一次提交到第一位客户:初创公司 Takton 如何仅用两个月与 Tiger Data 完成交付

创业公司Takton在编写生产代码之前就围绕Tiger Data构建了整个IoT机器监控平台,仅用两个月就将设备交付到客户现场。他们的产品Sense Manufacturing为小型制造商监控机器功率和振动,设备每隔几秒向Tiger Cloud传输数据。团队最初考虑InfluxDB,但选择了Tiger Data,因为它能更好地处理来自数千台设备的高频数据摄取,同时与PostgreSQL保持统一的SQL技术栈。Tiger Data的托管服务为小型工程团队消除了运营开销。该平台成功提前数天检测到设备故障,通过保留全分辨率时序数据进行异常检测,可能为客户节省数万美元的维修费用。

www.tigerdata.com/blog/how-st...

📨 PostgreSQL Hacker 电子邮件讨论精选

🧩 添加 REPACK [并发]

Srinath Reddy Sadipiralla在测试V41补丁时报告了PostgreSQL REPACK并发功能的崩溃问题。当在表上并发运行REPACK的同时执行重度pgbench多表事务工作负载时,pgoutput_repack.c中出现断言失败导致崩溃。根本原因是repacked_rel_locator.relNumber默认设置为InvalidOid,仅在setup_logical_decoding期间设置,而这发生在DecodingContextFindStartpoint之后。这个时序问题导致不相关的更改绕过change_useless_for_repack过滤器并被添加到重排序缓冲区队列中,在处理时引起断言失败。Antonin Houska确认了这个解释合理,并将在下一个版本中包含建议的修复,指出这也可能解释之前报告的另一个崩溃问题。

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

🧩 【提案】向 pg_createsubscriber 添加日志文件功能

讨论集中在为 pg_createsubscriber 工具添加日志文件功能。Hayato Kuroda 对 Gyan 的补丁提供了详细的代码审查反馈,识别出几个问题,包括宏定义中缺少 do-while 块、logfile_open() 的编译问题,以及由于未分配日志目录指针导致的分段错误。Shveta Malik 同意在创建目录之前验证命令的建议,以避免在出错时不必要的目录创建。Amit Kapila 批评了当前重新定义多个 pg_log_xxx 宏的方法,建议封装到单个函数中,类似于 pg_log_v,以实现更清洁的代码组织。作为回应,Kuroda 更新了补丁(v11 系列),通过新的 pg_createsub_log() 函数替换现有的 pg_log_xxx 系列,仅重写 pg_fatal,遵循 pg_upgrade 模式。补丁系列包括重新基础的版本和之前讨论的额外更改。

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

🧩 修复未初始化的 xl_running_xacts 填充

讨论围绕修复xl_running_xacts WAL记录中未初始化的填充问题展开。Zsolt Parragi提出了一个静态分析工具(pg-tidy)来检测未初始化的结构体填充,提供了比他原始方法侵入性更小的替代方案。该工具不修改WAL插入代码路径,而是验证传递给XLogRegisterData的变量的正确初始化,要求对具有编译器生成填充的结构体进行显式字段指定或memset调用。Michael Paquier对侵入性表示担忧,但承认Valgrind在此类问题上的持续效用。讨论还涉及哈希索引清理测试的稳定性问题,Alexander Kuzmenkov指出"make check"中的并行测试执行会影响事务可见性和清理行为。Heikki Linnakangas建议使用"BEGIN; INSERT ...; ROLLBACK;"而不是DELETE来生成对并发快照不敏感的死元组。

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

🧩 pg_plan_advice 查询计划建议

Robert Haas报告了Coverity对pg_plan_advice扩展中pgpa_planner_feedback_warning函数内存泄漏的投诉。使用10,000个虚假建议项测试显示,该函数未能释放大约1MB的内存缓冲区,尽管这与生成的半MB警告消息成比例。Haas提出两个考虑:限制详细信息长度(类似于reportDependentObjects)以及优化用于建议反馈的16MB Node树表示。Lukas Fittl建议实现通用GUC来限制所有DETAIL消息长度,并讨论了对其他模块扩展性的重要性。对话还涉及avocet buildfarm成员在debug_discard_caches下发现的测试不稳定问题,Haas将其识别为预备语句使用中的复制粘贴错误。Tom Lane确认建议的修复解决了测试稳定性问题。

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

🧩 消除 xl_heap_visible 以减少 WAL(最终设置 VM on-access)

Andres Freund对Melanie Plageman的补丁系列提供了详细的代码审查反馈,该系列旨在消除xl_heap_visible WAL记录并启用访问时可见性映射设置。审查涵盖了多个提交,包括可见性映射损坏处理、修剪优化、GlobalVisState使用和API更改。主要关注点包括:冗余的BufferGetBlockNumber()调用、不一致的变量命名(vmbits vs old_vmbits)、GetOldestNonRemovableTransactionId()向后移动的潜在问题,以及heap_fix_vm_corruption()中的警告逻辑。Freund质疑了一些设计决策,如在执行时而非计划时计算es_modified_relids,建议更好的函数命名约定,并指出缺少的断言。他还注意到需要更清晰地记录"机会性冻结",并询问备用逻辑解码测试的更改。审查强调了更改的复杂性,同时承认该系列接近完成。

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

🧩 在发布中跳过架构更改

讨论集中在PostgreSQL中实现ALTER PUBLICATION SET ALL TABLES功能及EXCEPT子句。Peter Smith对补丁v65-0001进行了广泛的代码审查,发现了错误消息、文档缺失、函数注释和测试组织方面的问题。主要关注点包括将发布转换为"FOR ALL TABLES"时的错误消息不清楚、缺少操作限制的文档以及函数命名混乱。Amit Kapila回应说大部分限制是预先存在的,并建议改进错误消息,如"must be superuser to set ALL TABLES"。团队同意首先完成待处理的ALTER PUBLICATION实现,然后再讨论更广泛的语法替代方案。Vignesh C在v66中解决了大部分审查意见,包括修复错误消息、重新组织测试和澄清注释。还讨论了EXCEPT子句中语法局部性与歧义性的问题,同意推迟主要语法更改直到当前补丁完成。

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

🌐 社交媒体动态

🧩 在 FabCon 2026 上, Azure Databricks推出 Lakebase、 Lakeflow和Genie新功能,简化在Azure上构建数据和AI应用程序

在 FabCon 2026 上,Azure Databricks 发布了跨 Lakebase、Lakeflow 和 Genie 的新功能,以简化在 Azure 上构建数据 和 AI 应用程序。主要发布包括:Lakebase 正式发布,作为 AI 智能体的运营数据库;Lakeflow Connect 免费版每个工作区每天可摄入约 1 亿条记录;Databri...

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

🧩 您的数据库安全仍然停留在过去吗?

该内容宣布PostgreSQL 18已正式弃用MD5认证,标志着重要的安全转变。CYBERTEC的高级PostgreSQL开发

相关推荐
2401_874732532 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
l1t2 小时前
与系统库同名python脚本文件引起的奇怪错误及其解决
开发语言·数据库·python
星空露珠2 小时前
迷你世界UGC3.0脚本Wiki角色模块管理接口 Actor
开发语言·数据库·算法·游戏·lua
IpdataCloud2 小时前
指纹浏览器为什么要自建IP检测?基于IP数据云离线库的架构实践
数据库·网络协议·tcp/ip·架构·edge浏览器
翻斗包菜2 小时前
MySQL 从入门到精通:数据库核心知识与实战指南
数据库·mysql
grizzliesster23 小时前
MySQL——表的约束
数据库·mysql
卤炖阑尾炎3 小时前
MySQL 数据库初体验:从基础概念到服务部署全攻略
数据库·mysql·oracle
hongtianzai4 小时前
MySQL中between and的基本用法
android·数据库·mysql
隔壁小邓4 小时前
数据库中间件全景解析:从连接管理到分布式协同
数据库·分布式·中间件