PG19 外键快速路径修复越界写入与漏检
Nikolay Samokhvalov 报告了 PostgreSQL 19 外键快速路径批处理的三个缺陷:重入的外键检查会越界写入、子事务里的违规被漏掉、批处理过程中留下孤立行。Amit Langote 给出两个补丁,前者为每个条目加刷新标志并调整操作顺序,后者把批处理限制在顶层事务并加上缓存范围的重入保护。测试确认三个缺陷都已修复,现在会正确抛出外键违规而不是静默通过。补丁改用边界检查而不是重排来保留测试覆盖,计划在最终评审后提交。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 32 条。
Nikolay Samokhvalov 报告了 PostgreSQL 19 外键快速路径批处理的三个缺陷:重入的外键检查会越界写入、子事务里的违规被漏掉、批处理过程中留下孤立行。Amit Langote 给出两个补丁,前者为每个条目加刷新标志并调整操作顺序,后者把批处理限制在顶层事务并加上缓存范围的重入保护。测试确认三个缺陷都已修复,现在会正确抛出外键违规而不是静默通过。补丁改用边界检查而不是重排来保留测试覆盖,计划在最终评审后提交。
AWS 数据库博客用一套 CloudFormation 模板把 Oracle 迁往 Amazon Aurora PostgreSQL 的过程拆成两步。第一步用 DMS Schema Conversion 把 Oracle 的模式、数据类型和 SQL 代码转成 PostgreSQL 兼容形式,多数对象自动完成,需要人工处理的会被单独标出;第二步用 DMS 搬运数据。模板会一并部署 Oracle RDS、Aurora 集群和复制实例。
Tiger Data 讨论统一命名空间(UNS)架构下历史库的表结构该怎么定。作者的判断是标签变动在 UNS 里属于常态,按资产建宽表、把标识编码进列名的做法因此不再适用,改个名字就要付出 ALTER TABLE 的代价。推荐做法是两张窄表:一张命名空间表用代理键存 ISA-95 层级,一张 tag_history 通过外键引用它。标识与路径解耦之后,重命名标签只是一次 UPDATE,工厂重组和标签停用都不必迁移数据。
Apple 把自家的容器工具 container 发到 1.0.0。项目 README 要求 Apple Silicon 和 macOS 26,底层依赖 Apple 的 Containerization Swift 包。macOS 开发机此前多靠 Docker Desktop、Colima 和 OrbStack,官方工具如果稳定,会改变本地容器运行时、虚拟化和网络的开发体验。本地数据库测试可以先观察它的网络、卷与 OCI 兼容性。
GitHub 提前公布了 npm v12 的破坏性变更清单,给生态留出迁移期。真正的风险不在变更本身,而在持续集成镜像悄悄升级 npm,或者开发者本地与生产构建用的 npm 大版本不一致。npm 是规模极大的软件供应链入口,即使变更不涉及安全漏洞,也会影响构建、发布和依赖更新机器人。建议逐个检查 Node 项目的 engines 字段、lockfile、CI 基础镜像和发布权限,并给发布链路固定 npm 大版本。
工作流自动化平台 ServiceNow 通知客户,一个漏洞让部分客户数据暴露在公网上,未经授权的外部访问可以读到本应受限的信息。公司称已经联系受影响的客户,但暴露范围、持续时间和具体涉及哪些客户仍不清楚。ServiceNow 被大量大型企业用来自动化内部业务流程,这些系统里沉淀的运营数据敏感度很高,一次事故的影响面通常不小。对同类企业软件的使用方来说,值得借这次事件复核数据分级、外部可达性和访问日志的留存周期。
Michael Paquier 说新钩子让 pg_hint_plan 净减两千多行代码,提议把行提示、并行提示等一并放进 contrib。
Andres Freund 反对在自旋锁下再加内容,认为要先完成 pg_stat_statements 的重新设计再谈扩展。
项目以 AGPL-3.0 开源,GitHub 约 4.4k 星,最新发布是 6 月 4 日的 v0.1.43,这次只是被提交到 HN。
link、checkout 和 env pull 同时面向人和自动化代理,属于即将开放私有预览的 Platform 的一部分。
agent 会读仓库、开 PR、跑 CI 甚至触发部署,接入之前仍要核对授权范围、密钥访问和分支保护。
承接前一天的实时威胁情报规则,主张 WAF、bot 识别、限流和身份体系都要按自动化攻击重新建模。
Purview、Defender 与 Sentinel 串起 Copilot 和 Azure AI 的遥测,把 agent 行为纳入正式事件响应。
把账单、资源、规则和审批连起来,仍需检验解释性、最小权限以及变更建议是否可审计。
把重复任务写成可以版本控制和评审的 agent 配置,但不要把密钥和生产凭据写进提示词。