PostgreSQL 技术日报 (3月24日)|当 MVCC 成本被重新审视

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

📨 PostgreSQL Hacker 电子邮件讨论精选

🧩 添加 REPACK [concurrently]

讨论重点是完善PostgreSQL中REPACK CONCURRENTLY的实现。Alvaro Herrera的v43补丁将并发实现改为使用table AM和tuple slots而不是HeapTuple,以避免昂贵的tuple form/deform操作。Antonin Houska同意补丁v43-0004中的"reform_tuple"过程现在是浪费的且不必要的,该过程通过deform和reform tuple来处理已删除的属性,但在使用tuple slots时已不需要。发现了一个与推测插入过滤相关的崩溃问题,并通过隔离测试重现了该问题------当逻辑解码过程中意外过滤掉CONFIRM/ABORT记录时会出现此问题。Jim Jones发现REPACK试图访问其他会话的临时表,导致锁争用。他建议在get_tables_to_repack()中跳过临时关系来解决这个问题。

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

🧩 为优雅但快速的服务器关闭/切换添加 GoAway 协议消息

讨论聚焦于为PostgreSQL服务器优雅关闭/切换提出的GoAway协议消息。Tomas Vondra质疑该功能是否应该专门与智能关闭绑定,并建议创建一个pg_goaway_backend()函数,可以针对单个后端而不是所有连接。这将支持负载均衡场景,其中特定的"重型"后端可以被要求重新连接或移动到不同的副本。Jim Nasby支持这个想法,并添加了另一个用例:基于后端内存消耗请求重新连接,因为relcache等内部结构可能无界增长。讨论探索将该功能扩展到关闭场景之外,包括用于性能优化的选择性后端管理。

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

🧩 自定义 oauth 验证程序选项

Zsolt Parragi回应了关于自定义OAuth验证器选项的讨论,最初考虑将该功能推迟到PostgreSQL 19。在SNI线程讨论后,他开始为hba/ident/hosts文件原型设计更现代的语法,希望基于此构建通用扩展性/GUC补丁。他等待功能冻结后再开始该线程,但仍然愿意为19版本添加仅限OAuth的功能。他对当前补丁的主要担忧是固定的"validator."前缀------他建议使用"<validator_name>."前缀来保持与现有GUC配置和PostgreSQL 18中已建立的验证器命名系统的一致性。他还指出验证检查应该在代码序列中的名称验证之前更早地移动。

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

🧩 将 jit 的默认值更改为关闭

PostgreSQL开发团队正在讨论将PostgreSQL 19的JIT默认设置改为关闭。似乎已达成明确共识要提交这个更改,Tomas Vondra计划在几天内实施,Tom Lane表示支持。时机争论集中在现在更改还是在mid-beta期间更改,Tom Lane反对在mid-beta阶段更改以避免后期复杂化。Pierre Ducroquet提出了一个替代解决方案:保持JIT默认开启,但将jit_tuple_deforming设为默认关闭,这样可以为最佳用例保持性能优势,同时消除导致编译时间爆炸的问题查询,特别是涉及多个分区或列修改的查询。这个反提案尚未收到反馈。

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

🧩 [提案] 向 pg_createsubscriber 添加日志文件功能

讨论集中在为pg_createsubscriber添加日志文件功能的提案上。补丁0001将报告函数重命名为report_createsub_log()和report_createsub_fatal(),在获得审查者批准后已被Amit Kapila推送。剩余的补丁0002为pg_createsubscriber添加了新的-l/--logdir参数,该参数创建带时间戳的目录,为服务器操作和内部诊断提供单独的日志文件。Chao Li对补丁0002提供了详细反馈,指出了internal_log_file_write()中%m处理问题、缺少HINT/DETAIL前缀、fclose()返回值检查以及路径长度验证错误等问题。Shveta Malik和Kuroda Hayato也提供了关于代码简化、目录权限、终端和日志文件输出格式不一致以及测试覆盖改进等次要评论。补丁需要在0001提交后重新调整基础版本并解决审查者提出的技术问题。

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

🧩 使用 rdtsc 减少 EXPLAIN ANALYZE 的计时开销?

John Naylor和Lukas Fittl正在讨论一个PostgreSQL补丁的代码结构改进,该补丁使用rdtsc减少EXPLAIN ANALYZE的时间开销。争论的焦点是如何处理CPUID寄存器访问------是使用带有命名字段(eax、ebx、ecx、edx)的CPUIDResult结构体,还是使用简单的数组索引宏如"#define EAX 0"。John认为结构体增加了不必要的间接访问,因为某些API仍需要数组,他更倾向于使用直接的宏来提高可读性。他还质疑整数数组中不一致的符号性,并要求为返回值提供更清晰的文档。David Geier主动提出在Windows上测试最新补丁,特别是TSC校准改进,这些改进现在通过向子进程传递TSC频率并使用哨兵值重构tsc_frequency_khz来支持EXEC_BACKEND。

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

🗞️ 行业新闻

🧩 Apple 确定 WWDC 2026 六月举办日期,暗示"AI 进步"

苹果公司宣布将于2026年6月8日当周举办下一届全球开发者大会。预计该公司将在活动期间发布具有先进AI功能的Siri重大更新。这标志着Apple在人工智能开发方面的持续推进,紧跟行业向消费产品中更复杂AI集成发展的趋势。WWDC公告表明Apple正在为其生态系统准备重要的AI驱动功能,特别专注于增强Siri的功能性。时间安排符合Apple典型的年度开发者大会日程,公司传统上会在会上发布新的软件平台和开发者工具。

techcrunch.com/2026/03/23/...

🧩 Startup Gimlet Labs 用出人意料的优雅方式解决 AI 推理瓶颈

Gimlet Labs为其技术筹集了8000万美元的A轮融资,该技术使AI模型能够同时在多个芯片架构上运行。这家初创公司的解决方案允许人工智能工作负载同时在NVIDIA、AMD、Intel、ARM、Cerebras和d-Matrix芯片上运行。这通过提供跨平台兼容性解决了AI推理中的重大瓶颈,并可能减少对单一芯片供应商的依赖。此轮融资突显了投资者对多芯片AI解决方案的信心,因为行业寻求优化性能并降低成本。Gimlet Labs的方法代表了使AI部署在多样化硬件平台上更加灵活和高效的重大技术进步。

techcrunch.com/2026/03/23/...

🧩 Elizabeth Warren 称五角大楼禁止 Anthropic 的决定是"报复"

参议员Elizabeth Warren批评了五角大楼将AI公司Anthropic标记为"供应链风险"的决定,在致国防部长Pete Hegseth的信中称其为报复行为。Warren论证说国防部本可以简单地终止与这家AI实验室的合同,而不是应用供应链风险指定。这一争议突显了政府机构与AI公司在国防合同和安全分类方面的紧张关系。争议涉及Anthropic,这是一家以开发AI助手Claude而闻名的主要AI研究公司。Warren的介入表明政治层面对五角大楼如何管理与AI承包商关系以及安全指定是否被适当使用还是对科技公司进行惩罚性使用的审查。

techcrunch.com/2026/03/23/...

🌐 社交媒体动态

🧩 pg_timetable 6.3.0版本发布

pg_timetable 6.3.0 已发布。此 PostgreSQL 任务调度更新提升了工作流可靠性、可观察性和调试能力。主要改进包括:执行日志现在显示任务参数增强了集成测试,添加了 CopyToProgram 和 CopyFromProgram 任务的测试,修复了数据库日志器中的错误序列化问题,纠正了 PROGRAM 任务的参数传递,并引入了用于任务管...

www.linkedin.com/posts/cyber...

🧩 #KubeCon是真正对话发生的地方

KubeCon汇聚了构建、部署和大规模解决问题的专业人士。CYBERTEC专家团队包括首席产品官Peter Hofer、产品主管Armon Nesiren以及销售总监Mat Godolphin,他们将讨论PostgreSQL、Kubernetes及相关主题。鼓励参会者前往Lightbits Labs展位(895号展位)与他们交流并提出问题。该活动强调,真正...

www.linkedin.com/posts/activ...

🧩 对近实时应用使用碎片化架构感到厌倦吗?

这则广告推介Databricks的统一平台,用于近实时应用。该平台提供三个关键解决方案:Zerobus Ingest可在5秒内将事件数据直接写入受治理的Delta表;Lakebase是集成在Databricks中的全托管PostgreSQL数据库,用于低延迟运维工作负载;Databricks Apps用于构建和部署交互式应用。该平台旨在消除多跳数据摄取和复...

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

相关推荐
2401_895521342 小时前
PostgreSQL_安装部署
数据库·postgresql
Hvitur2 小时前
软考架构师【第六章】数据库设计基础知识
数据库·oracle
养生技术人2 小时前
Oracle OCP认证考试题目详解082系列第5题
运维·数据库·sql·oracle·开闭原则
2401_879693872 小时前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
yunyun321232 小时前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
IvorySQL2 小时前
明晚开播|PostgreSQL 18.3 x IvorySQL 5.3:开启 AI 数据库新纪元
数据库·postgresql·开源
Cosolar2 小时前
Transformer训练与生成背后的数学基础
人工智能·后端·开源
Sunshine for you3 小时前
如何用FastAPI构建高性能的现代API
jvm·数据库·python
阿贵---3 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python