↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

每日精选 PostgreSQL、数据库与云计算资讯

19 条

pgrust 0.2 用批处理与 SIMD 重写查询引擎

malisper作者博客

malisper 记录了用 Rust 重写的 pgrust 0.2 如何给查询引擎提速。一次处理 1024 行的批式执行把五亿行求和从 1.3 秒降到 480 毫秒,把顺序扫描与聚合融合成一个算子再降到 358 毫秒,用 SIMD 降到 135 毫秒。作者称 ClickBench 条件下最高领先 PostgreSQL 约 300 倍,同时说明算子融合是针对已知查询硬编码,没有 JIT 无法推广,对照也未计入锁与元组解析开销。

ignore_system_indexes 是急救车不是配置项

Christophe Pettusthebuild.com

Christophe Pettus 讲到 ignore_system_indexes:打开后服务器改用顺序扫描读系统目录,规划器也不再考虑目录索引。它默认关闭,属于罕见的 backend 级参数,只能写在配置文件或连接时用 PGOPTIONS 指定,会话建立后无法 SET。它存在的理由是系统目录索引损坏后 REINDEX 本身也走不通,此时用单用户模式加 -P 执行 REINDEX SYSTEM。它只保护读,DDL 仍会写索引。

GitHub 把恶意包告警扩展到八个生态

GitHubGitHub 博客

GitHub 说明其 Advisory Database 已开始摄入 OpenSSF 的 malicious-packages 仓库,Dependabot 的恶意包告警从只覆盖 npm 扩展到八个包管理生态,含 PyPI、Maven、RubyGems、NuGet、Go 与 crates.io。该数据源以 OSV 格式收集了一万五千多份报告,涵盖仿冒包名、依赖混淆与账户接管。恶意依赖常在安装时窃取凭据,处置方式与普通 CVE 不同。

MCP 新规范把核心交互改为无状态

CloudflareCloudflare 博客

Cloudflare 解读了 2026-07-28 版 MCP 规范:核心交互改为完全无状态,TypeScript、Python、Go 与 C# 的 SDK 都已跟进。Streamable HTTP 把工具动作提升到 Mcp-Method 与 Mcp-Name 请求头,网关和 WAF 不必解析任意 JSON 就能按工具粒度做策略;规范还加入列表缓存提示并调整了授权流程。MCP 已经连着内部数据库与 CI,升级前应在真实入口下跑兼容矩阵。

AWS 为 AgentCore 增加长驻计算实例

AWSAWS 博客

AWS 在 Bedrock AgentCore Runtime 之外推出 Runtime instances,作为面向长任务的托管计算选项。用户可以把多个带各自依赖的 agent 部署到同一个 AWS 托管运行时,在共享会话中协作最长 14 天,可以使用 GPU,也能停止与重启会话控制空闲成本。需要跨会话保留的知识仍要放进 AgentCore Memory 或外部存储。

28 条

Autobase 2.10 把集群运维操作搬进界面

vitabaksAutobase

Autobase 2.10 把日常集群运维搬进了界面。Console UI 新增 Actions 菜单,管理员可以直接执行主备切换、故障转移、副本重装、重启、停启和集群删除;Parameters 页面新增 System 标签页,用于配置区域设置、主机映射、DNS、NTP、内核参数与 SSH 公钥。新增的本地磁盘部署选项把卷大小设为 0 即可启用,不必再挂网络卷。还补上一批覆盖 Patroni 集群切换与生命周期管理的 playbook。

PostgreSQL 19 的三处语法变化

Shaun ThomaspgEdge 博客

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 冲突已被回退。

给 AI 智能体配行级安全的可测试做法

Andrei Mironovdatamcp.app

Andrei Mironov 给出一份面向 AI 智能体的行级安全配置,强调要用智能体自己的连接验收。表属主与智能体角色分开,后者带 NOSUPERUSER 与 NOBYPASSRLS;表上同时 ENABLE 与 FORCE ROW LEVEL SECURITY,再按命令写 USING 和 WITH CHECK。文中点出四个坑:属主绕过策略、漏写 WITH CHECK 让行改到别的租户、租户上下文由客户端设定,以及 TRUNCATE 不受约束。

ignore_invalid_pages 是撬棍不是开关

Christophe Pettusthebuild.com

Christophe Pettus 的 GUC 逐项谈接着讲 ignore_invalid_pages:它把 WAL 重放时两处 PANIC 降级为警告,让引用了无效页面的实例仍能启动。该参数默认关闭,属于 postmaster 级别,改动需要重启,只在归档恢复、备库和时间点恢复时起作用。作者的警告很直接:不要为了止住崩溃一直开着,那样打开的库会在未知位置缺失未知数量的数据。合理用法只有在可丢弃的副本上打开它抢救可读数据。

Metabase 披露已被利用的 0-day

MetabaseMetabase 安全公告

Metabase 披露 1.58 及以上版本存在已被利用的未知漏洞。攻击者可经公开的 /api/session/reset_password 向应用库注入任意 SQL,进而取得应用管理员权限、修改配置、导出数据或拿到数据源连接凭据。Cloud 客户已修补,公告给出各大版本的最低安全点版,并建议升级后撤销会话、检查 API key 与日志。自托管实例应当立刻盘点版本与入口,轮换与数据源相关的高权限凭据。

Zapscape 公开 KVM 虚拟机逃逸细节

V4bel研究者披露与 PoC

研究者公开了 KVM/x86 的虚拟机逃逸 Zapscape,编号 CVE-2026-64561。披露称问题出在 shadow MMU 的递归 zap 路径上,属于释放后使用,guest 侧操作可以损坏宿主机内核页面;PoC 在 AMD 平台、Linux 7.1.3 与 QEMU TCG 上演示,需要 L1 guest 的 root 权限,某些 /dev/kvm 可写的配置下也可能形成本地提权。自建 KVM 云应核验发行版回补状态。

32 条

Neon 推出分支感知的 S3 兼容对象存储

Carlota SotoNeon 博客

Neon 把分支能力从数据库延伸到了文件。新推出的 Neon Object Storage 是直接集成在 Neon 后端的 S3 兼容对象存储,与既有的数据库分支机制打通:创建分支时,对象存储里的相关文件会一并纳入该分支,几秒之内就能得到数据库与文件的完整隔离副本。对于把用户上传、模型产物或报表文件与关系数据放在一起的应用,这意味着测试环境不必再单独复制一份存储桶,也不必自己维护两套数据的版本对齐。

CloudNativePG 用镜像目录统一分发扩展

Gabriele Bartolini作者博客

CloudNativePG 1.29 引入的 ClusterImageCatalog 让扩展镜像与运行镜像一同分发,集群清单只需按名称引用扩展,镜像地址、库路径和环境变量由 operator 从匹配当前大版本的目录项解析。扩展升级不必再逐个集群改镜像摘要,也能避免 ABI 不匹配。前提是 PostgreSQL 18 的 extension_control_path 与 Kubernetes 1.35,社区目录目前只收录七个扩展。

ignore_checksum_failure 只该用于抢救数据

Christophe Pettusthebuild.com

Christophe Pettus 的 GUC 逐项谈这一期讲 ignore_checksum_failure:打开之后页面校验和失败由错误降级为警告,损坏页照样进入共享缓冲区。它默认关闭,超级用户可以在会话内 SET,但影响是集群级的,损坏页会被所有 backend 读到,一旦被修改还会按损坏内容重算校验和,抹掉证据。唯一合理的用法是既无可用备份也无干净副本时,在文件级副本上开一个会话 COPY 抢救数据,随后立刻关掉。

ControlCom 用 TimescaleDB 承接月三亿数据点

Andrew StebbinsTiger Data 博客

ControlCom Connect 由六人团队开发,把数千个工业设施资产的遥测数据写入 TimescaleDB,每月处理三亿多个数据点。团队比较 InfluxDB 和 AWS 方案之后选择它,理由是作为 PostgreSQL 扩展不必引入新查询语言和额外的连接池。边缘服务器本地跑一份实例保证断网可用,再与 Tiger Cloud 上的中心实例同步。厂商称成效包括仪表盘即时重新分桶,以及查出一笔十六万美元的水电账单计费错误。

pgEdge:把数据库当计算层而不是停车场

Antony PeggpgEdge 博客

pgEdge 的 Antony Pegg 认为 PostgreSQL 已经是 Agentic AI 的默认数据库,但多数团队仍只把它当成存储。文章把生产负载归为语义检索、智能体草稿区、检索管道和工作流编排四类,主张用数据库自身的能力承接协调:SELECT FOR UPDATE SKIP LOCKED 做原子任务队列,LISTEN/NOTIFY 触发事件响应,咨询锁与 MVCC 处理并发写入。结论是把向量、关系与可观测负载收进同一个实例。

ORBIT 把企业 AI 的可靠性落在 PostgreSQL 上

Vibhor Kumar作者博客

Vibhor Kumar 提出 ORBIT,一套面向企业 AI 的执行规范,关注点不是模型本身而是运行纪律。五个字母对应:调用外部动作之前先写 outbox 表持久化意图;用共享状态而不是进程内计数器做限流与协调;把后台任务当作执行的基本单元;从第一天起保证幂等以便安全重试;完整记录模型版本、检索到的文档与提示词以备审计。文中的实现全部落在 PostgreSQL 上,用事务和咨询锁保证原子性与协调。

窃取 165 家 Snowflake 客户数据者认罪

TechCrunchTechCrunch

Connor Moucka 就入侵并窃取逾 165 家 Snowflake 客户数据一案认罪。据 TechCrunch 报道,他与同伙从中勒索获利超过 250 万美元,受影响的大多是 Snowflake 的企业级客户,这是近年波及范围最广的云数据平台安全事件之一。认罪本身说明针对主流数据存储服务的定向攻击有明确的利益驱动。运维托管数据仓库的团队值得据此复核账号的多因素认证覆盖面与凭据轮换周期。

25 条

TOAST 过程中丢锁可能让外键约束被绕过

Rui ZhaoPostgreSQL hackers

更新一行大值时,缓冲区锁会在 TOAST 期间被放开,这个窗口足以让外键校验失效。Rui Zhao 复核初版补丁后指出还剩三个问题:TOAST 之后的重检条件与释放锁的条件不一致,孤立的外键行因此能存活;toaster 原样返回输入元组时,新元组的 xmax 错误保留了仅锁定标志;存在真实的键共享锁定者时,更新事务号会在多事务标记里被重复写入。他给出了修复补丁和基于注入点的隔离测试。

count(DISTINCT) 会关掉整条语句的并行

Radim Marekboringsql.com

去重聚合没有合并函数,工作进程无法把各自的去重结果拼起来,于是这一个关键字就让整条语句退回串行。Radim Marek 的改法是把去重下推成 GROUP BY,先在子查询里按列分组再数行数,这样可以走并行哈希。在 1000 万行的表上,串行去重聚合耗时 1211 毫秒并落盘 115 MB,改写后只要 360 毫秒且全在内存,快约 3.4 倍。要近似值可以用 postgresql-hll。

keyv 等 npm 包家族被入侵,波及数百个包

AikidoAikido 安全博客

签名只能证明谁发布了某次构建,证明不了发布前的仓库状态没被改过。Aikido 报告攻击者接管维护者的 GitHub 账户,向多个包注入 preinstall 脚本,再由合法的 Actions 流水线发布,产物因此带着「正常」的出处。截至 8 月 4 日观察到至少 434 个包、1381 个版本。keyv 家族位于大量 Node.js 工具链的间接依赖路径上,命中受影响版本的开发机或 CI 应按凭据泄露处置。

GitHub 讲清了大小写折叠为何要先去掉提前退出

GitHubGitHub 工程博客

文本规范化被搜索、日志和索引反复执行,微小操作会被放大。GitHub 的 Blackbird 索引超过 1.8 亿个仓库、480 TB 源码,它开源的 casefold crate 对 ASCII 做一次没有数据相关退出的扫描。作者在 Apple M4 上用 5.7 KB 缓冲区测得从朴素循环的约 3.1 GiB/s 提到完全矢量化后的 45 GiB/s 以上。文章指出只把条件写成无分支却保留数据相关退出,反而更慢。

24 条

pgAdmin 4 v9.17 修复七个安全漏洞

pgAdmin Development TeampgAdmin 项目

这一版的重点是安全。pgAdmin 4 v9.17 带来 28 项修复与改进,其中包含七个漏洞:工具的权限绕过、经主口令钩子与导入导出工具触发的系统命令注入、索引统计与发布视图里的 SQL 注入、AI 助手只读事务防护的词法差异绕过、无需认证即可访问的路由,以及共享服务器克隆导致的凭据泄露。功能侧新增在访问日志中记录已认证用户和查看数据的取行上限。

pgBackRest 2.59.0 支持 PG19 并默认禁止以 root 运行

pgBackRest CommunityPostgreSQL 新闻

备份工具的这一版在能力和默认值上都有动作。pgBackRest 2.59.0 加入对 PostgreSQL 19 的支持,新增 archive-expire-before 选项清理 WAL 归档,支持 S3 Outposts 与 Azure 批量删除,修复 SFTP 空闲断开后的重连,info 命令会显示各仓库的备份进度。安全方面默认不再允许以 root 运行,仅 restore 例外,需要时用 allow-root 打开。

E-Maj 5.0.0 允许非超级用户安装和使用

Philippe BeaudoinPostgreSQL 新闻

E-Maj 是给数据库子集做细粒度写入日志、支持按时间点回溯的 PostgreSQL 扩展。5.0.0 这个大版本最实质的变化是允许非超级用户角色在库中安装和使用它,可用功能随该角色的权限而定,这让它更容易进入权限收紧的环境。此外还改进了幂等管理脚本的写法与参数管理,并加入对 PostgreSQL 19 的兼容。扩展本身兼容 14 到 19,配套的 Emaj_web 5.0.0 兼容 3.0 到 5.0 的扩展版本。

PlanetScale 公开分片 PostgreSQL 的并行备份实现

PlanetScalePlanetScale 工程博客

分片之后,备份的瓶颈不再是 pg_basebackup 这条命令,而是对象存储读写、WAL 截点、恢复编排和计算隔离组成的系统问题。PlanetScale 介绍了自家做法:底层仍是常规的文件级基础备份加归档 WAL 回放,为备份临时拉起节点,稳态路径复用上一轮健康快照,让备份节点从对象存储拉取并重放数据,每 12 小时一次快照。厂商称可在数小时内处理 PB 级数据库、吞吐超过 50 GB/s,这些数字不宜直接照搬。

Cloudflare 讲了服务超长上下文模型的三层取舍

CloudflareCloudflare 博客

只压权重而不管缓存容量和页归属,可能把吞吐优化变成正确性事故。Cloudflare 公开了三处改动:在 Kimi K2.6 上把 KV cache 降到 FP8,可容纳上下文从约 68.6 万 token 提到 137 万;把 GLM 5.2 权重从 FP8 压到 INT4,检查点从 705 GB 降到 421 GB;给物理缓存页加再分配标记,解码读取前核对请求期待的页和标记,不匹配就中止,防止共享缓存串话。

27 条

一个藏了 13 年的流复制缺陷在 Kubernetes 上被逼了出来

Gabriele BartoliniEDB 博客

级联备库做完归档恢复再连回上游时会永久失败,报「请求的起始位置超前于本服务器的 WAL 刷写位置」。原因是归档恢复按整段处理 WAL,备库的下一个读取位置正好落在段边界上,机械地超前于上游刷写点,而这里没有重试。缺陷自 9.3 起就在,传统部署很少搭出这种拓扑,CloudNativePG 用 YAML 几分钟就能组合跨区流复制与归档回退,于是稳定复现。修复随 18.5、17.11、16.15、15.19 和 14.24 发布。

数据库真卡住还是连接过期,五分钟就能分清

Umair ShahidStormatics 博客

两种故障在应用日志里长得很像,处置方向却相反。Umair Shahid 给出判据:真卡住时连新开的会话都进不去,包括直接在机器上跑的 psql,根因多在数据库之下的内存、存储或 CPU;连接过期则是池里的连接报 connection reset by peer,而新建连接立刻成功,问题在网络路径。排查顺序是先在主机本地直连,再对比池化与新建连接,查日志里的重置记录,最后看 pg_stat_activity 里那个后端是否为 idle。

流式化改动的交互可能导致内存与数据损坏

Mihail NikalayeuPostgreSQL hackers

两个属于「更多代码路径改用流式读」系列的提交,凑在一起会出问题。Mihail Nikalayeu 报告,其中一个提交缓存了元页指针,而 hashbulkdelete() 里调用 read_stream_begin_relation() 可能让它失效:调用链经表空间查找触发系统表扫描,进而处理失效消息并释放已缓存的指针,最终引用到无效的块号。他给出的修复只需重排少量代码,同时建议考虑更普遍的防护。该缺陷只影响主干。

ArcadeDB 26.7.3 同时修 MCP 身份边界与图数据丢失

ArcadeDBGitHub Release

把 MCP 接进数据库,等于把 agent 身份、工具调用和数据权限并到同一个暴露面。ArcadeDB 把 26.7.3 定为 26.7.2 的定向热修复,处理内部审计发现的 MCP 传输层认证主体绑定与信息泄露、触发器授权,并修掉 26.7.2 在超级节点边追加时的数据丢失回归。GitHub 安全公告库本窗口补入了对应记录,但缺少完整版本范围。开启 MCP 或使用高阶图的部署应以 26.7.3 为最低核查线。

20 条

用模板库克隆给每个测试单独开一个数据库

Brandur Leachbrandur.org

数据库测试慢,多半慢在每个用例都重放一遍迁移。Brandur Leach 介绍 pgtestdb 的做法:先把迁移跑进一个模板数据库,之后每个测试用 CREATE DATABASE ... TEMPLATE 直接克隆一份,跑完即销毁,把 schema 初始化从应用层循环挪进服务端的复制路径。收益随库大小、连接池和并发变化,未必线性。要注意的是模板库不能有残留连接,也不该被普通客户端写入,扩展、角色、权限和大对象的行为都要单独验证。

GiST 的多范围索引扫描可能漏掉匹配行

Peter GeogheganPostgreSQL hackers

索引扫描漏行是最难察觉的一类缺陷,因为查询照常返回结果。Peter Geoghegan 报告 GiST 在 multirange 上的索引扫描会漏返匹配行,并附上回归测试。Andrey Borodin 确认根因是 multirange_gist_consistent() 检查过严,处理并集范围时产生假阴性,建议改走内部多范围的一致性函数。Alexander Korotkov 又把内部判断精确成并集包含并集。

Rails Active Storage 的任意文件读取漏洞需要先轮换密钥

Rails 安全团队Rails 安全公告

上传加图片变体是很多 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

NetBSD FoundationNetBSD 官方博客

这是操作系统的大版本,不是例行补丁。NetBSD 11.0 在稳定版里首次支持 64 位 RISC-V,新增面向极速启动的 x86 MICROVM 内核、Linux 兼容系统调用和 Snapdragon X Elite 的初步支持,会直接改动平台支持矩阵和交叉构建。项目还罕见地公开列出三个仍待回补的安全问题及其默认配置和规避条件,计划在 11.1 收口。启用了 PF 或 IPFilter、暴露音频设备节点的部署应先按公告采取规避。

Lean 内核出现可构造 False 的健全性缺陷并已修复

Lean FROLeonardo de Moura 博客

依赖形式化证明的系统把「内核拒绝非法项」当作信任根。Lean 官方复盘称,一份 AI 辅助生成、没有 sorry 的反 Collatz 证明利用了嵌套归纳类型参数缺检查的实现缺陷,因而能构造出 False。问题在报告后约一小时修复并发布补丁,只能经元编程直接向内核提交构造来触发。值得注意的是旧版独立检查器 nanoda 另有缺陷,说明多一个检查器并不等于可以不升级,关键证明应在两端重新校验。