惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
IT之家
IT之家
Google DeepMind News
Google DeepMind News
罗磊的独立博客
爱范儿
爱范儿
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
U
Unit 42
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
B
Blog
博客园 - 叶小钗
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

InfoQ - 促进软件开发领域知识与创新的传播

Meta 收购 Manus 这事儿泡汤了 5.5万 Star 开源项目 Ghostty 被迫出走,GitHub 正在终结一代技术人的乌托邦 Slack 长时运行多智能体系统的上下文管理方案 从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台 谷歌云推出 Agents CLI,简化 AI 智能体开发全流程 Claude官方击穿高薪、高学历的安全防线!Anthropic点名10大高危职业,但有群人暂时稳了 亚马逊云科技终止 WorkMail 服务,并将 App Runner 转入维护模式 OPPO小布记忆:全模态碎片化内容的理解与智能整理实践|AICon上海 模力工场038周AI应用周榜:工具在消失,工作流在出现 Akamai CEO Tom Leighton:Agent 时代来临,云基础设施正从“中心化”转向“分布式边缘” 日均数百亿入库背后:从“人肉调度”到K8s弹性架构,度小满金融基于OceanBase重构入库架构实践 百度文库网盘发布GenFlow 4.0:月活用户超1亿,要把网盘变成全端AI工作台 Altman 投的 Agent 终端 Warp 开源了!斩获3.5万star 哪些客户需要拒, 敢让龙虾决定吗?_AI&大模型_InfoQ 中文站_InfoQ精选视频 从开发到生产:为什么越来越多的机器学习团队纷纷迁移到 Snowflake | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 探索多智能体工作流:LangGraph Snowflake Cortex AI | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 腾讯云分布式缓存数据库:AI Agent - 从提示词工程到 Harness 工程 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 基于 Streamlit 为 CSV 数据构建分析智能体 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 AI 智能体:告别文档缺漏 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 构建 AI 驱动的数据管道:深度探讨 Snowflake Openflow 与非结构化数据 | BUILD 2025_AI&大模型_王玮_InfoQ精选视频 云端太贵、本地不够聪明,英特尔押注“端云混合AI”:智能体PC会替人完成工作 不到10%的存储投入,可能拖垮90%的GPU投资!IBM把AI Agent塞进存储系统,算清企业最容易忽略的一笔账 Snowpark 上手实战 | BUILD 2025_大数据_王玮_InfoQ精选视频 ClickHouse + Langfuse,构建 Agent 可观测基石 腾讯云分布式缓存数据库:Cluster Proxy 共享连接架构深度解析 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 AI 写代码太烧钱了:Copilot、Claude 一起涨价,不如把程序员请回来? 英特尔发布至强600系列工作站处理器与锐炫Pro B70 GPU,全新AI工作站来了 腾讯云分布式缓存数据库:从 Redis 到 Valkey - 开源社区如何快速创新 | 腾讯云数据库 DBTalk_腾讯_凌敏_InfoQ精选视频 印奇这次要“从0重做”智驾模型!首谈阶跃和千里双公司布局:中国AI商业闭环要靠车跑出来 从Cursor返聘归来,90后华裔女高管带Claude开启日更模式:token成本比工程师工资低多了!
微软开源用于数据库内持久执行的 PostgreSQL 扩展
InfoQ · 2026-06-16 · via InfoQ - 促进软件开发领域知识与创新的传播

pg_durable微软最近开源的一款 PostgreSQL 扩展。它支持在数据库内部原生运行持久化工作流,而不需要依赖外部的编排系统。

据微软介绍,pg_durable 使开发人员不用将 cron 任务、后台工作单元、消息队列和外部协调器拼接在一起,即可实现长期运行且具有容错能力的 SQL 函数。而且,工作流直接通过 SQL 表达,该扩展负责处理重试、扇出和恢复等执行相关的问题。

借助 pg_durable,工作流可以直接在 SQL 中定义,重试状态、进度跟踪和检查点管理完全在 PostgreSQL 内部完成,无需依赖外部应用程序。微软指出,这样做的一大优势在于“某些应用层工作单元、队列消费者或调度器粘合层会完全消失”。

pg_durable 函数是一个 SQL 执行步骤图,PostgreSQL 在执行过程中会对其进行检查点记录。如果数据库发生崩溃、重启或某个步骤失败,系统将从最后一个持久检查点继续执行,而无需手动重建状态。

该扩展将函数的执行状态持久化存储在 PostgreSQL 表中,确保工作流在系统崩溃、重启和故障转移时仍然能正常运行。它提供了一种领域特定语言(DSL),其中包含用于调度、条件和并行执行等操作的一等原语。

以下是一个简短的示例,展示了一个分步骤处理数据的持久化函数:

SELECT df.start(    'SELECT id FROM documents WHERE processed = false LIMIT 100' |=> 'batch'    ~> 'UPDATE documents SET processed = true WHERE id = ANY($batch)');

复制代码

上面的代码片段展示了 ~> 和 |=> 这两个由 pg_durable 定义的特殊运算符,它们分别用于实现节点的顺序执行以及将结果绑定到变量。df.start 函数用于启动持久化函数的执行。下面的示例演示了如何并行执行两个节点,并使用 df.join 函数(或与其等效的 & 运算符)等待它们完成:

df.join('SELECT count(*) FROM a', 'SELECT count(*) FROM b')\'SELECT 1' & 'SELECT 2'

复制代码

微软将该扩展定位于向量嵌入管道场景,其中,数据需分块处理、发送至嵌入 API,然后写入 pgvector;同时也适用于计划维护任务,例如检测数据膨胀、触发通知、等待审批以及执行后续操作。此外,该扩展还适用于依赖外部 API 的工作流。

从架构上讲,pg_durable 刻意保持了极简设计,它仅包含一个 Postgres 扩展以及一个后台工作进程,而不包含任何外部控制平面。负责运行持久化函数的工作进程基于两个 Rust 库构建:duroxide 提供编排运行时,包括确定性重放、检查点、子编排和定时器;duroxide-pg 则将实例、历史记录、工作队列及其他运行时状态持久化存储在由 duroxide 提供的专用模式中。

持久化执行是一种软件范式,它使长期运行的工作流能够从故障点自动恢复,省去了复杂的手动状态恢复过程。该模型简化了分布式系统,有助于构建健壮的代理架构和云控制平面。InfoQ 之前曾经发文探讨过 TemporalCloudflare 等平台所支持的持久化执行技术。

原文链接:https://www.infoq.com/news/2026/06/postgresql-pg-durable/