pgrust 0.2 用批处理与 SIMD 重写查询引擎
malisper 记录了用 Rust 重写的 pgrust 0.2 如何给查询引擎提速。一次处理 1024 行的批式执行把五亿行求和从 1.3 秒降到 480 毫秒,把顺序扫描与聚合融合成一个算子再降到 358 毫秒,用 SIMD 降到 135 毫秒。作者称 ClickBench 条件下最高领先 PostgreSQL 约 300 倍,同时说明算子融合是针对已知查询硬编码,没有 JIT 无法推广,对照也未计入锁与元组解析开销。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
每日精选 PostgreSQL、数据库与云计算资讯
malisper 记录了用 Rust 重写的 pgrust 0.2 如何给查询引擎提速。一次处理 1024 行的批式执行把五亿行求和从 1.3 秒降到 480 毫秒,把顺序扫描与聚合融合成一个算子再降到 358 毫秒,用 SIMD 降到 135 毫秒。作者称 ClickBench 条件下最高领先 PostgreSQL 约 300 倍,同时说明算子融合是针对已知查询硬编码,没有 JIT 无法推广,对照也未计入锁与元组解析开销。
Christophe Pettus 讲到 ignore_system_indexes:打开后服务器改用顺序扫描读系统目录,规划器也不再考虑目录索引。它默认关闭,属于罕见的 backend 级参数,只能写在配置文件或连接时用 PGOPTIONS 指定,会话建立后无法 SET。它存在的理由是系统目录索引损坏后 REINDEX 本身也走不通,此时用单用户模式加 -P 执行 REINDEX SYSTEM。它只保护读,DDL 仍会写索引。
GitHub 说明其 Advisory Database 已开始摄入 OpenSSF 的 malicious-packages 仓库,Dependabot 的恶意包告警从只覆盖 npm 扩展到八个包管理生态,含 PyPI、Maven、RubyGems、NuGet、Go 与 crates.io。该数据源以 OSV 格式收集了一万五千多份报告,涵盖仿冒包名、依赖混淆与账户接管。恶意依赖常在安装时窃取凭据,处置方式与普通 CVE 不同。
Cloudflare 解读了 2026-07-28 版 MCP 规范:核心交互改为完全无状态,TypeScript、Python、Go 与 C# 的 SDK 都已跟进。Streamable HTTP 把工具动作提升到 Mcp-Method 与 Mcp-Name 请求头,网关和 WAF 不必解析任意 JSON 就能按工具粒度做策略;规范还加入列表缓存提示并调整了授权流程。MCP 已经连着内部数据库与 CI,升级前应在真实入口下跑兼容矩阵。
AWS 在 Bedrock AgentCore Runtime 之外推出 Runtime instances,作为面向长任务的托管计算选项。用户可以把多个带各自依赖的 agent 部署到同一个 AWS 托管运行时,在共享会话中协作最长 14 天,可以使用 GPU,也能停止与重启会话控制空闲成本。需要跨会话保留的知识仍要放进 AgentCore Memory 或外部存储。
Tomas Vondra 认为 v9 补丁集的三个部分接近可提交,但连接 MCV 统计仍有崩溃、分区表采样段错误和视图信息泄露等问题。
新增的 --pipe 选项让并行导出不必先落地到转储目录,并行作业里漏写 %f 占位符会告警,避免多个进程写同一个文件。
Scott Ray 指出快照持有者平局时报告的 PID 不稳定,建议改用类似死锁报告的多行日志列出主要阻塞者。
文章给出四类控制杆:低成本模型与灵活外壳、按请求和任务动态路由、面向开发者的预算与熔断、压缩 token 开销。
绑定与 REST API 已走同一路径,日志和计费统一;按模型而非按供应商路由、负载均衡与故障切换仍是路线图。
由平台自动编排 Workers AI、AI Gateway、Vectorize、R2 与 Browser Run,官方称使用默认嵌入与重排模型时这部分免费。
Autobase 2.10 把日常集群运维搬进了界面。Console UI 新增 Actions 菜单,管理员可以直接执行主备切换、故障转移、副本重装、重启、停启和集群删除;Parameters 页面新增 System 标签页,用于配置区域设置、主机映射、DNS、NTP、内核参数与 SSH 公钥。新增的本地磁盘部署选项把卷大小设为 0 即可启用,不必再挂网络卷。还补上一批覆盖 Patroni 集群切换与生命周期管理的 playbook。
Shaun Thomas 梳理了 PG19 已进入的几项语法变化。ON CONFLICT DO SELECT 让 get-or-create 在冲突时返回既有行,支持 FOR UPDATE 行级锁与 WHERE 过滤。COPY 新增 FORMAT JSON,默认按行分隔,加 FORCE_ARRAY 可输出合法数组,但不支持 COPY FROM。另外 GROUP BY ALL 因与 ORDER BY 冲突已被回退。
Andrei Mironov 给出一份面向 AI 智能体的行级安全配置,强调要用智能体自己的连接验收。表属主与智能体角色分开,后者带 NOSUPERUSER 与 NOBYPASSRLS;表上同时 ENABLE 与 FORCE ROW LEVEL SECURITY,再按命令写 USING 和 WITH CHECK。文中点出四个坑:属主绕过策略、漏写 WITH CHECK 让行改到别的租户、租户上下文由客户端设定,以及 TRUNCATE 不受约束。
Christophe Pettus 的 GUC 逐项谈接着讲 ignore_invalid_pages:它把 WAL 重放时两处 PANIC 降级为警告,让引用了无效页面的实例仍能启动。该参数默认关闭,属于 postmaster 级别,改动需要重启,只在归档恢复、备库和时间点恢复时起作用。作者的警告很直接:不要为了止住崩溃一直开着,那样打开的库会在未知位置缺失未知数量的数据。合理用法只有在可丢弃的副本上打开它抢救可读数据。
Metabase 披露 1.58 及以上版本存在已被利用的未知漏洞。攻击者可经公开的 /api/session/reset_password 向应用库注入任意 SQL,进而取得应用管理员权限、修改配置、导出数据或拿到数据源连接凭据。Cloud 客户已修补,公告给出各大版本的最低安全点版,并建议升级后撤销会话、检查 API key 与日志。自托管实例应当立刻盘点版本与入口,轮换与数据源相关的高权限凭据。
研究者公开了 KVM/x86 的虚拟机逃逸 Zapscape,编号 CVE-2026-64561。披露称问题出在 shadow MMU 的递归 zap 路径上,属于释放后使用,guest 侧操作可以损坏宿主机内核页面;PoC 在 AMD 平台、Linux 7.1.3 与 QEMU TCG 上演示,需要 L1 guest 的 root 权限,某些 /dev/kvm 可写的配置下也可能形成本地提权。自建 KVM 云应核验发行版回补状态。
PL/pgSQL 的 EXCEPTION 块捕获外键报错后 firing_depth 未回退,后续 ADD FOREIGN KEY 会漏报违约行却标记为已验证。
社区基本达成共识把 on 映射为 zstd,解压上下文复用推迟到 PG20,Christoph Berg 提醒发布说明要写明弃用 pglz。
以工作区、组织知识与 Skills、隔离运行时和安全治理为核心,公司内已有数千人使用。
状态页记录 8 月 6 日两项服务可用性下降,人工重试可能让镜像推送与数据库迁移执行两遍,发布需要幂等键。
beta 版跑在 Workers 的 V8 isolate 上,兼容 CDP 客户端,厂商称短任务开销低于 Chromium,暂不支持富媒体与长期登录态。
每个对象一个独立 SQLite 库,节点通过对象存储里的 CAS 与租约协调,没有独立的成员管理或共识服务。
以 Apache-2.0 发布并兼容 Cedar,新增时序条件,可表达审批必须先发生、读过敏感数据后不得外联等约束。
Taalas 主张把模型固化进芯片以降低算力与内存瓶颈,AMD 计划将其并入 Instinct 加速器路线,未披露价格与交付时间。
Neon 把分支能力从数据库延伸到了文件。新推出的 Neon Object Storage 是直接集成在 Neon 后端的 S3 兼容对象存储,与既有的数据库分支机制打通:创建分支时,对象存储里的相关文件会一并纳入该分支,几秒之内就能得到数据库与文件的完整隔离副本。对于把用户上传、模型产物或报表文件与关系数据放在一起的应用,这意味着测试环境不必再单独复制一份存储桶,也不必自己维护两套数据的版本对齐。
CloudNativePG 1.29 引入的 ClusterImageCatalog 让扩展镜像与运行镜像一同分发,集群清单只需按名称引用扩展,镜像地址、库路径和环境变量由 operator 从匹配当前大版本的目录项解析。扩展升级不必再逐个集群改镜像摘要,也能避免 ABI 不匹配。前提是 PostgreSQL 18 的 extension_control_path 与 Kubernetes 1.35,社区目录目前只收录七个扩展。
Christophe Pettus 的 GUC 逐项谈这一期讲 ignore_checksum_failure:打开之后页面校验和失败由错误降级为警告,损坏页照样进入共享缓冲区。它默认关闭,超级用户可以在会话内 SET,但影响是集群级的,损坏页会被所有 backend 读到,一旦被修改还会按损坏内容重算校验和,抹掉证据。唯一合理的用法是既无可用备份也无干净副本时,在文件级副本上开一个会话 COPY 抢救数据,随后立刻关掉。
ControlCom Connect 由六人团队开发,把数千个工业设施资产的遥测数据写入 TimescaleDB,每月处理三亿多个数据点。团队比较 InfluxDB 和 AWS 方案之后选择它,理由是作为 PostgreSQL 扩展不必引入新查询语言和额外的连接池。边缘服务器本地跑一份实例保证断网可用,再与 Tiger Cloud 上的中心实例同步。厂商称成效包括仪表盘即时重新分桶,以及查出一笔十六万美元的水电账单计费错误。
pgEdge 的 Antony Pegg 认为 PostgreSQL 已经是 Agentic AI 的默认数据库,但多数团队仍只把它当成存储。文章把生产负载归为语义检索、智能体草稿区、检索管道和工作流编排四类,主张用数据库自身的能力承接协调:SELECT FOR UPDATE SKIP LOCKED 做原子任务队列,LISTEN/NOTIFY 触发事件响应,咨询锁与 MVCC 处理并发写入。结论是把向量、关系与可观测负载收进同一个实例。
Vibhor Kumar 提出 ORBIT,一套面向企业 AI 的执行规范,关注点不是模型本身而是运行纪律。五个字母对应:调用外部动作之前先写 outbox 表持久化意图;用共享状态而不是进程内计数器做限流与协调;把后台任务当作执行的基本单元;从第一天起保证幂等以便安全重试;完整记录模型版本、检索到的文档与提示词以备审计。文中的实现全部落在 PostgreSQL 上,用事务和咨询锁保证原子性与协调。
Connor Moucka 就入侵并窃取逾 165 家 Snowflake 客户数据一案认罪。据 TechCrunch 报道,他与同伙从中勒索获利超过 250 万美元,受影响的大多是 Snowflake 的企业级客户,这是近年波及范围最广的云数据平台安全事件之一。认罪本身说明针对主流数据存储服务的定向攻击有明确的利益驱动。运维托管数据仓库的团队值得据此复核账号的多因素认证覆盖面与凭据轮换周期。
Tomas Vondra 的基准测试显示 zstd 通常能把 WAL 体积压掉一半而 CPU 开销与 lz4 相当,他据此撤回了 lz4 提案。
effective_io_concurrency 不小于 64 时 ReadStream 预读会耗尽本地缓冲区,提交 da6874635db 已修复。
多列分区键且尾列取 MAXVALUE 时,SELECT、UPDATE 与运行时裁剪都会静默返回错误结果,补丁已给出修复。
提交 112c26838 之后 Melanie Plageman 发现它会对每个页面重复清除 strategy,修复补丁赶在封版前推送。
Michael Paquier 以提交 1200dfd60c36 修复 HEAD,权衡回合风险后暂不进稳定分支,WIN32 上窗口仍在。
该缺陷自 PG14 起存在,可能造成槽泄漏和 vacuum 异常,v10 补丁已完成审查,计划回移到 PG14 及以上。
缓存失效回调可能在用户自定义转换函数执行期间触发,导致已释放的 fpmeta 被继续使用,该补丁暂时搁置。
Meniko 将在当地提供 PGEE、Migrator 与 Patroni,面向数据治理要求严格的受监管行业。
更新一行大值时,缓冲区锁会在 TOAST 期间被放开,这个窗口足以让外键校验失效。Rui Zhao 复核初版补丁后指出还剩三个问题:TOAST 之后的重检条件与释放锁的条件不一致,孤立的外键行因此能存活;toaster 原样返回输入元组时,新元组的 xmax 错误保留了仅锁定标志;存在真实的键共享锁定者时,更新事务号会在多事务标记里被重复写入。他给出了修复补丁和基于注入点的隔离测试。
去重聚合没有合并函数,工作进程无法把各自的去重结果拼起来,于是这一个关键字就让整条语句退回串行。Radim Marek 的改法是把去重下推成 GROUP BY,先在子查询里按列分组再数行数,这样可以走并行哈希。在 1000 万行的表上,串行去重聚合耗时 1211 毫秒并落盘 115 MB,改写后只要 360 毫秒且全在内存,快约 3.4 倍。要近似值可以用 postgresql-hll。
签名只能证明谁发布了某次构建,证明不了发布前的仓库状态没被改过。Aikido 报告攻击者接管维护者的 GitHub 账户,向多个包注入 preinstall 脚本,再由合法的 Actions 流水线发布,产物因此带着「正常」的出处。截至 8 月 4 日观察到至少 434 个包、1381 个版本。keyv 家族位于大量 Node.js 工具链的间接依赖路径上,命中受影响版本的开发机或 CI 应按凭据泄露处置。
文本规范化被搜索、日志和索引反复执行,微小操作会被放大。GitHub 的 Blackbird 索引超过 1.8 亿个仓库、480 TB 源码,它开源的 casefold crate 对 ASCII 做一次没有数据相关退出的扫描。作者在 Apple M4 上用 5.7 KB 缓冲区测得从朴素循环的约 3.1 GiB/s 提到完全矢量化后的 45 GiB/s 以上。文章指出只把条件写成无分支却保留数据相关退出,反而更慢。
Amit Langote 的 v2 补丁改为在约束缓存失效回调里连同元数据一起删除,避免悬空指针。
Michael Paquier 计划只在主干修复并补注释,暂不回补稳定分支以规避回归风险。
Melanie Plageman 确认修复已回补到 18,并分析 17 在非刻意构造的场景下不会触发。
ALTER SUBSCRIPTION 在加锁前就读了订阅信息,删除完成后它仍会重建 init 状态的行。
新增专用回调,每批元组以文本格式经 COPY FROM STDIN 流到远端,有行后触发器时不生效。
事件触发器触发时会段错误,命令标签不一致,改表空间还可能把索引留在旧表空间。
两种实现取舍不同:转成 JSON_QUERY 更贴标准,转成 -> 操作符更快但标量会被数组包裹。
8 月 10 日仓库转为归档、包与镜像标记弃用,8 月 31 日官方支持结束,源码仍可 fork。
涉及 DNS 预取、WebAuthn 关联来源校验与 WebTransport,报告方称 iCloud 私密转发同受影响。
前提是终端已被恶意软件控制,重点提醒依赖方必须自行校验 WebAuthn 的用户验证标志。
这一版的重点是安全。pgAdmin 4 v9.17 带来 28 项修复与改进,其中包含七个漏洞:工具的权限绕过、经主口令钩子与导入导出工具触发的系统命令注入、索引统计与发布视图里的 SQL 注入、AI 助手只读事务防护的词法差异绕过、无需认证即可访问的路由,以及共享服务器克隆导致的凭据泄露。功能侧新增在访问日志中记录已认证用户和查看数据的取行上限。
备份工具的这一版在能力和默认值上都有动作。pgBackRest 2.59.0 加入对 PostgreSQL 19 的支持,新增 archive-expire-before 选项清理 WAL 归档,支持 S3 Outposts 与 Azure 批量删除,修复 SFTP 空闲断开后的重连,info 命令会显示各仓库的备份进度。安全方面默认不再允许以 root 运行,仅 restore 例外,需要时用 allow-root 打开。
E-Maj 是给数据库子集做细粒度写入日志、支持按时间点回溯的 PostgreSQL 扩展。5.0.0 这个大版本最实质的变化是允许非超级用户角色在库中安装和使用它,可用功能随该角色的权限而定,这让它更容易进入权限收紧的环境。此外还改进了幂等管理脚本的写法与参数管理,并加入对 PostgreSQL 19 的兼容。扩展本身兼容 14 到 19,配套的 Emaj_web 5.0.0 兼容 3.0 到 5.0 的扩展版本。
分片之后,备份的瓶颈不再是 pg_basebackup 这条命令,而是对象存储读写、WAL 截点、恢复编排和计算隔离组成的系统问题。PlanetScale 介绍了自家做法:底层仍是常规的文件级基础备份加归档 WAL 回放,为备份临时拉起节点,稳态路径复用上一轮健康快照,让备份节点从对象存储拉取并重放数据,每 12 小时一次快照。厂商称可在数小时内处理 PB 级数据库、吞吐超过 50 GB/s,这些数字不宜直接照搬。
只压权重而不管缓存容量和页归属,可能把吞吐优化变成正确性事故。Cloudflare 公开了三处改动:在 Kimi K2.6 上把 KV cache 降到 FP8,可容纳上下文从约 68.6 万 token 提到 137 万;把 GLM 5.2 权重从 FP8 压到 INT4,检查点从 705 GB 降到 421 GB;给物理缓存页加再分配标记,解码读取前核对请求期待的页和标记,不匹配就中止,防止共享缓存串话。
需要重启的参数改动会先逐个重启副本,再切换主库,最后处理原主库,力求不丢数据。
Matthias van de Meent 的修复已合入主干,并补了覆盖超过记录长度上限的测试。
提议在属性与表达式的确定性不同时才全量扫描 MCV 列表,以保住常见路径的速度。
Mihail Nikalayeu 报告并给出补丁,Daniel Gustafsson 计划合入主干并回补到 19。
用于回收长期不推进的复制槽,避免它一直扣住 WAL,是 18 起可用的一道保险。
公告强调这不是独立研究部门,而是与工程、客户和行业伙伴协作的组织。
由平台在 isolate、容器沙箱和浏览器之间选择执行后端,实际隔离边界仍需逐项审计。
单一接口返回 Workers、R2、D1 等按产品和计费周期拆分的用量与成本,数据日更。
级联备库做完归档恢复再连回上游时会永久失败,报「请求的起始位置超前于本服务器的 WAL 刷写位置」。原因是归档恢复按整段处理 WAL,备库的下一个读取位置正好落在段边界上,机械地超前于上游刷写点,而这里没有重试。缺陷自 9.3 起就在,传统部署很少搭出这种拓扑,CloudNativePG 用 YAML 几分钟就能组合跨区流复制与归档回退,于是稳定复现。修复随 18.5、17.11、16.15、15.19 和 14.24 发布。
两种故障在应用日志里长得很像,处置方向却相反。Umair Shahid 给出判据:真卡住时连新开的会话都进不去,包括直接在机器上跑的 psql,根因多在数据库之下的内存、存储或 CPU;连接过期则是池里的连接报 connection reset by peer,而新建连接立刻成功,问题在网络路径。排查顺序是先在主机本地直连,再对比池化与新建连接,查日志里的重置记录,最后看 pg_stat_activity 里那个后端是否为 idle。
两个属于「更多代码路径改用流式读」系列的提交,凑在一起会出问题。Mihail Nikalayeu 报告,其中一个提交缓存了元页指针,而 hashbulkdelete() 里调用 read_stream_begin_relation() 可能让它失效:调用链经表空间查找触发系统表扫描,进而处理失效消息并释放已缓存的指针,最终引用到无效的块号。他给出的修复只需重排少量代码,同时建议考虑更普遍的防护。该缺陷只影响主干。
把 MCP 接进数据库,等于把 agent 身份、工具调用和数据权限并到同一个暴露面。ArcadeDB 把 26.7.3 定为 26.7.2 的定向热修复,处理内部审计发现的 MCP 传输层认证主体绑定与信息泄露、触发器授权,并修掉 26.7.2 在超级节点边追加时的数据丢失回归。GitHub 安全公告库本窗口补入了对应记录,但缺少完整版本范围。开启 MCP 或使用高阶图的部署应以 26.7.3 为最低核查线。
Álvaro Herrera 主张多留时间发现问题,Amit Kapila 认可,该条目将从 19 的未决列表移除。
流式读改造后活跃读流没有跟着切换策略,Melanie Plageman 为主干与旧分支各给一套方案。
Robert Haas 主张该函数不应把快速路径锁提升进主锁表,查不到就直接返回 false。
Nathan Bossart 的补丁让 autovacuum 或手动整库清理遇到关系被删时不再报错或崩溃。
拦无 WHERE 的 DELETE 与 UPDATE、TRUNCATE 和 DROP,但不覆盖 MERGE 和 DROP SCHEMA,仍是 pre-1.0。
组织角色分为管理员、编辑者、查看者与协作者,可指定每个人或 agent 能访问哪些项目。
用于终止在事务中闲置的会话,避免它一直压住清理与锁,属于生产上应当显式设定的一项。
上游称修复了严重的服务端问题,新增公告也指向 3.30.0 之前的 Windows 剪贴板堆溢出。
数据库测试慢,多半慢在每个用例都重放一遍迁移。Brandur Leach 介绍 pgtestdb 的做法:先把迁移跑进一个模板数据库,之后每个测试用 CREATE DATABASE ... TEMPLATE 直接克隆一份,跑完即销毁,把 schema 初始化从应用层循环挪进服务端的复制路径。收益随库大小、连接池和并发变化,未必线性。要注意的是模板库不能有残留连接,也不该被普通客户端写入,扩展、角色、权限和大对象的行为都要单独验证。
索引扫描漏行是最难察觉的一类缺陷,因为查询照常返回结果。Peter Geoghegan 报告 GiST 在 multirange 上的索引扫描会漏返匹配行,并附上回归测试。Andrey Borodin 确认根因是 multirange_gist_consistent() 检查过严,处理并集范围时产生假阴性,建议改走内部多范围的一致性函数。Alexander Korotkov 又把内部判断精确成并集包含并集。
上传加图片变体是很多 SaaS 默认开放的入口。CVE-2026-66066 让默认使用 libvips 的 Active Storage 应用被未认证攻击者借构造上传读取进程可访问的任意文件,进而拿到环境里的密钥,可升级为会话伪造乃至远程代码执行。修复版本是 activestorage 7.2.3.2、8.0.5.1 和 8.1.3.1,libvips 至少 8.13。仅升级不够,可被进程读到的密钥和凭据都应轮换。
这是操作系统的大版本,不是例行补丁。NetBSD 11.0 在稳定版里首次支持 64 位 RISC-V,新增面向极速启动的 x86 MICROVM 内核、Linux 兼容系统调用和 Snapdragon X Elite 的初步支持,会直接改动平台支持矩阵和交叉构建。项目还罕见地公开列出三个仍待回补的安全问题及其默认配置和规避条件,计划在 11.1 收口。启用了 PF 或 IPFilter、暴露音频设备节点的部署应先按公告采取规避。
依赖形式化证明的系统把「内核拒绝非法项」当作信任根。Lean 官方复盘称,一份 AI 辅助生成、没有 sorry 的反 Collatz 证明利用了嵌套归纳类型参数缺检查的实现缺陷,因而能构造出 False。问题在报告后约一小时修复并发布补丁,只能经元编程直接向内核提交构造来触发。值得注意的是旧版独立检查器 nanoda 另有缺陷,说明多一个检查器并不等于可以不升级,关键证明应在两端重新校验。
清理函数被调用两次却没清空待删列表,第二次重复删除同一批 OID,补丁改为收尾时重置。
涉及 JavaScript 触发器与函数定义的授权、集群令牌脱敏和跨库授权,同时有两项破坏性变更。
涉及 Traefik、GitPython、axios、ArcadeDB、FreeRDP,部分条目缺版本范围,录入时间不等于上游修复时间。
高并发扫描时在 opendir 路径触发 musl 内存分配器断言后段错误,issue 仍未关闭。
标准弃用不会立刻断连,但库和平台收紧默认后,没盘点的对端会把安全变更变成生产中断。
项目方称外部严密审查带来大量公告,强烈建议更新,应以项目发布说明核对实际依赖版本。