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

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

PostgreSQL 博览 RSS 订阅

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

20 条

HashJoin Bloom filter 补丁跑通回归但仍会丢过滤器

Rui Zhaopgsql-hackers

Rui Zhao 报告 HashJoin Bloom filter 的 v10 补丁可以干净地打在当前 master 上,248 项回归测试全部通过,480 个查询与 GUC 组合的结果都正确。遗留问题是精确构建侧匹配模式下雪花型查询会丢掉过滤器,去重逻辑仍假设候选项之间存在子集关系。他的附加补丁改为保留所有可实现的候选项,恢复了雪花测试里丢失的六个过滤器,代价是规划时间上升。

npm 允许一个包配置多条 OIDC 可信发布规则

GitHubGitHub Changelog

npm 现在允许一个包设置多条相互独立的可信发布配置,每条各自限定仓库、workflow 和 environment,入站 OIDC token 命中任意一条即获授权,多环境流水线不必再为第二条路径保留长寿命 token。公告还规定配置默认只能 stage,直接发布要显式开启,staged 包在恶意软件扫描完成前无法批准。语义是任一匹配即放行,规则写得宽松就等于多开一道直发入口。

GitHub CLI 的 Linux 仓库签名密钥于 9 月 5 日到期

GitHubGitHub Changelog

GitHub 说明官方 APT 与 RPM 仓库当前使用的 PGP 密钥在 9 月 5 日到期,此后仓库元数据和新增 RPM 只用替换密钥签名。2026 年 4 月 8 日之前按官方流程装过 gh、又没有更新配置的系统需要导入包含两把密钥的 keyring,否则 apt 或 dnf 更新会突然失败,这类故障常被误判成网络或镜像问题。建议对使用官方源的 runner 和基础镜像跑一次元数据刷新与安装验证。

Mullvad 关闭公共加密 DNS 并转为资助 Quad9

MullvadMullvad 博客

Mullvad 将停止自营公共 DoH 服务,转而资助 Quad9,手工配置者的迁移截止日是 11 月 2 日。Mullvad Browser 的默认设置和内置广告拦截用的 DoH 会自动迁移,但被改过的自定义 DoH 不会被覆写,已经装上的 iOS 与 macOS 配置描述文件会停止工作。DNS 配置常年遗留在 MDM、VPN 客户端、浏览器策略和 CI 里,应逐类盘点解析器地址,并保留原配置直到观测期结束。

21 条

副本模式并不会关掉 CHECK、唯一约束和行级安全

Mikhail ShytskoSeedfast 博客

Seedfast 的 Mikhail Shytsko 在 PostgreSQL 18.6 与 19beta3 上逐项验证 session_replication_role = replica:外键、ON DELETE CASCADE、规则和事件触发器确实静默,标记 ENABLE REPLICA 的触发器反而开始触发,而 CHECK、NOT NULL、唯一约束和行级安全照常拦截。恢复时只有 NOT ENFORCED 切回会扫表。

PostgreSQL 19 的外键快速路径会漏掉外键检查

PostgreSQL hackersPostgreSQL 邮件列表

PostgreSQL 19 新的外键快速路径批处理层被查出两个缺陷:在 AFTER 触发器里执行 ALTER TABLE ... ADD FOREIGN KEY 时,验证检查被错误并入外层批次,外键检查因此被跳过,孤立行会当作合法数据提交;SET CONSTRAINTS ... IMMEDIATE 启动嵌套触发周期时则触发断言崩溃并漏检。两个补丁已就绪,要等批处理层是否从 19 回退有结论才推送。

postgres_fdw 对分区外表批量更新会造成数据损坏

Ajit AwekarPostgreSQL hackers

Ajit Awekar 的补丁修复了 2018 年就已知的缺陷:通过 postgres_fdw 对分区外表批量 DELETE/UPDATE 会造成数据逻辑损坏。Jakub Wartak 审查后指出代价不小:补丁用 ROW() 和列名各传一次数据,所有 postgres_fdw 外表的 CPU 开销约翻倍;逐行发出的语句无法按 tableoid 做分区裁剪,性能随行数与分区数之积恶化。部分问题还没有明确方案。

REPACK 在 beta 末期集中修补三处限制

Bharath RupireddyPostgreSQL hackers

PostgreSQL 19 的 REPACK 在 beta 末期集中修补三处限制:对不支持逻辑解码的非 heap 访问方法执行 REPACK (CONCURRENTLY) 可能静默丢数据,Bharath Rupireddy 的补丁补上访问方法检查;标记 user_catalog_table 的表将被禁止并发重整,以免内容对输出插件不可见;表所有者缺少 CONNECT 权限时的失败也已修好。

分区索引重建丢失副本标识的修复拆成三部分

Sami ImseihPostgreSQL hackers

Sami Imseih 把修复分区索引重建丢失 replica identity 的补丁拆成 v18 三部分:非后代分区的 DEPENDS ON EXTENSION 保留、SET EXPRESSION 的覆盖,以及后代分区索引属性的保留。Zsolt Parragi 测试时发现新的名称冲突:把某个分区索引改名成另一个分区的默认索引名之后,再用 ALTER TABLE 改列类型会报 relation already exists。

35 条

发布管理组提议把 SQL/PGQ 属性图功能撤出 PostgreSQL 19

Melanie PlagemanPostgreSQL hackers

刚进入 PostgreSQL 19 的 SQL/PGQ 属性图功能被查出成片问题:改写图表时不持锁、ALTER 的锁级别不足、依赖处理让 ALTER TABLE 报错、pg_dump 静默丢数据,非唯一键还会让查询结果出错。Melanie Plageman 代表发布管理组提议把它从 REL_19_STABLE 回退,Peter Eisentraut 同意,Robert Haas 主张连 master 一并回退。

中断的并发分离分区会留下不一致的目录状态

Mihail NikalayeuPostgreSQL hackers

Mihail Nikalayeu 发现 DETACH PARTITION ... CONCURRENTLY 被中断之后,分区在 pg_class 里的 relispartition 标记仍然保留,而 get_partition_ancestors() 已不再返回它,只有再执行 FINALIZE 才能清除;Nisha Moond 确认逻辑复制的 get_rel_sync_entry() 是同一根因。用到并发分离的系统应在中断后核对目录。

暗网服务兜售逾 1.53 亿张驾照扫描件,FBI 已立案

Brian KrebsKrebsOnSecurity

KrebsOnSecurity 报道名为 Nexus 的暗网服务宣称手握超过 1.53 亿张美国和加拿大驾照扫描件,记者用样本与时间戳把线索指向身份验证链路,报道称 FBI 新奥尔良分部已经立案;IDScan.net 当时只确认在调查潜在事件,报道之后该站点下线。归因尚未证实,但风险很具体:证件正反面与照片无法像密码那样轮换。做证件 OCR 或活体核验的团队应盘点采集与留存位置和子处理方,默认不保存原图。

NGINX 核心、Gateway Fabric 与 Ingress 同日更新

NGINXNGINX 博客

NGINX 1.31.5 加入 Control API、predicate locations 和请求体的提前检查,属于架构级更新而不是普通补丁。同日发布的 Gateway Fabric 2.7 对齐 Gateway API 1.6,把 TCPRoute 与 UDPRoute 升到 v1;Ingress Controller 5.6 把 HSTS 提升为一等策略。三者都在把外部认证与 HSTS 从任意 snippet 变成可验证的资源。

Copilot 代码审查可以提交计入合并规则的批准

GitHubGitHub Changelog

GitHub 把 Copilot 代码审查的批准能力作为公开预览开放。默认关闭时,审查里的 approval assessment 只显示判断、不计入合并要求;管理员在企业、组织或仓库层开启之后,Copilot 提交的批准才能满足 required approvals,新提交也会像人类批准一样让它失效。这等于把建议角色写进合并权限模型,一次组织级默认配置就可能波及大量仓库,稳妥做法是先在低风险仓库试点并保留人工批准。

29 条

PostgreSQL 逻辑解码提权漏洞出现公开技术拆解

PostgreSQL 全球开发组PostgreSQL 安全公告

PGDG 的公告说明,缺少授权检查使持有 REPLICATION 权限但不是超级用户的角色,能借逻辑解码插件名让服务端 dlopen 运行账户可见的任意文件,从而以数据库服务账户执行代码。受影响的是 18.6、17.11、16.15、15.19、14.24 之前的版本,修复早在 8 月 13 日随这批小版本发布,9 月 1 日新增的是第三方把攻击路径写清楚的技术拆解,复现门槛因此降低。运维应先升级低于修复线的实例,再清点 rolreplication 角色并轮换可疑凭证。

BigQuery Graph 正式可用,把 GQL 图查询搬进数据仓库

Google CloudGoogle Cloud 博客

Google 宣布 BigQuery Graph 正式可用:ISO GQL 与 SQL 并列,图遍历在 BigQuery 内原生执行,官方口径是图分析不再需要单独做 ETL。公告还描述了跨 Google Cloud 与 AWS 等数据源的虚拟知识图谱,以及面向 agent 的聊天与记忆能力,其中一部分仍在预览。图能力过去常逼着团队把关系数据复制到独立图库,因此值得用依赖关系、权限、订单链这类真实场景做对照测试,核对 GQL 表达能力、扫描与槽位成本和权限继承。

Firefox 155 修复多个高危内存安全与沙箱逃逸缺陷

MozillaMozilla 安全公告

Mozilla 的 MFSA 2026-82 列出 Firefox 155 修掉的一批高影响缺陷,包括 Android 上的权限提升、JavaScript 垃圾回收的释放后使用、DOM Navigation 与 Security 组件的沙箱逃逸、音视频组件的释放后使用,以及 WebGPU 权限提升。公告没有说这些缺陷已在野利用。浏览器同时装着开发者的登录态、云控制台和内部系统,受管桌面、开发机和 Android 终端应按常规紧急窗口推进更新。

Cloudflare D1 免费版超出每日行读写配额后直接报错

CloudflareCloudflare Changelog

Cloudflare 从 9 月 1 日起对 Workers Free 计划的 D1 硬性执行每日行读与行写限额:达到上限后 Worker Binding 和 REST API 都返回错误,一直持续到世界协调时午夜重置,已存储的数据不受影响。这把超额从计量提醒变成了可用性边界,重试并不能绕过当日上限。免费 D1 上跑着用户流量的应用应加用量告警和错误分类,检查读写放大与批量任务,并把午夜重置写进 runbook。

37 条

PostgreSQL 19 分区 ON CONFLICT 撞上可延迟唯一约束

Zsolt Parragipgsql-hackers

PostgreSQL 19 的 ON CONFLICT 被查出两处回归。一是向分区表插入时,若目标子分区带有本地的可延迟唯一约束,路由后的插入会直接失败;二是提交 2bc7e886fc1 让 NULLS NOT DISTINCT 约束被静默当成仲裁器,顶替用户指定的约束名,错误被吞掉、行被意外更新。Mihail Nikalayeu 的综合补丁重做了 indimmediate 判断与排序规则比较,并部分回退原提交。

备库可能带着撕裂的 FSM 页面正常结束恢复

Noah Mischpgsql-hackers

Noah Misch 指出提交 c06d1a4 改掉了恢复期间的 FSM 不变量。在开启校验和与整页写的默认配置下,restartpoint 之后的 heap_xlog_* 可以把 FSM 页面标记为脏;此时崩溃留下的撕裂页面不会在恢复中被修复,恢复却能正常结束。FSM 自己用 RBM_ZERO_ON_ERROR 静默接受坏页,heapam_relation_copy_data 这类调用方却假定读取一定成功。长期方案是恢复旧不变量,或要求所有读 FSM 的调用方一律容错。

PostgreSQL 19 新增四个系统视图

Gülçin Yıldırım JelínekClickHouse 博客

PostgreSQL 19 给系统视图单开了一节,上一次这样还是 PG13。Gülçin Yıldırım Jelínek 逐个介绍新增的四个视图:pg_stat_lock 汇总锁的等待情况,pg_stat_recovery 暴露恢复过程的状态,pg_stat_autovacuum_scores 给出 autovacuum 的评分依据,pg_dsm_registry_allocations 列出动态共享内存注册表里的分配。作者提醒 19 仍在 beta,列名可能还会变。

AWS Graviton5 内存优化实例 R9g 与 R9gd 正式可用

AWSAWS News Blog

AWS 宣布基于 Graviton5 的 R9g 与带本地 NVMe SSD 的 R9gd 正式可用,定位是数据库、缓存、实时分析和容器化负载。厂商称相对 Graviton4 的 R8g,每 vCPU 计算性能最高提升 25%,并列出 DDR5-8800、五倍 L3 缓存、最高 100 Gbps 网络和 72 Gbps EBS 带宽。对 PostgreSQL 来说这值得进入容量规划,但迁移主库前应在相同版本、扩展和数据集下比较真实 SQL、WAL、检查点与复制延迟。

PyPI 改变下载计数口径,流行度曲线出现永久断点

PyPIPyPI 博客

PyPI 说明其日志配置自 2026 年 8 月 24 日起,只为 .whl、.tar.gz 和 .zip 这类实际分发包的请求生成下载记录。此前不少消费方没有按文件扩展名过滤,把更宽泛的对象请求也算成了一次下载。历史 BigQuery 数据不会回写,新旧两段不能直接比较。下载量常被用来判断依赖采用度、维护优先级和供应链暴露面,因此报表应在 8 月 24 日处断线分段,或者用可复现的 SQL 为两个时期各自重算,避免把口径变化读成用户流失,也避免污染阈值告警。

34 条

WAL_LOG 建库策略会让旧主库回放时反复崩溃

Melanie Plagemanpgsql-hackers

PostgreSQL 19 的 WAL_LOG CREATE DATABASE 策略被查出严重缺陷。提交 add323da40a 在 heap_xlog_prune_freeze() 里加了一条断言,要求可见性映射缓冲区为脏。主备切换后,提升为主的备库可见性映射是全零,VACUUM FREEZE 会重新置位并生成不含整页镜像的 PRUNE 记录;重新加入的旧主库回放这些记录时发现位已置好,缓冲区保持干净,于是断言失败、节点反复崩溃重启。

能源公司迁到 Tiger Cloud 后查询延迟降到 1/25

Tristan VermeeschTiger Data 博客

Tristan Vermeesch 记录了 Companion.energy 把实时能源传感器数据从 Azure PostgreSQL 迁到 Tiger Cloud 的过程,原环境用的是功能受限的 Apache 2 版 TimescaleDB。迁移后 skip-scan 让最常用查询延迟从 4950 毫秒降到 202 毫秒,Hypercore 列存把 1.7 TB 压到 39 GB。迁移用 LiveSync 复制,历时八周,割接 16 小时。这是厂商案例口径,仍需自行验证。

Qubes QSB-118:错误回报路径可在 dom0 执行命令

Qubes OSQubes OS

Qubes 公布 QSB-118:从 dom0 向一个已失陷的 qube 执行 qvm-copy-to-vm 时,远端可控的文件名会被填进对话框命令。原有的净化只替换非 ASCII 字符和双引号,保留了 shell 元字符,随后 system() 执行构造出的命令,于是攻击从受陷 qube 穿透到最不该被攻陷的控制域。所有 Qubes OS 版本受影响,4.3 的修复包是 qubes-core-dom0-linux 4.3.22。

Linux 7.3-rc1 发布,合并窗口关闭

Linus TorvaldsLWN

Linus Torvalds 在 8 月 30 日宣布 Linux 7.3-rc1,称本次按提交数很大,但实际 diff 约三分之一来自 AMD DCN6 的寄存器头文件与配套新一代 GPU 代码。其余合并覆盖 VFS、BPF、io_uring 与 block、cgroup、KVM、CXL、XFS、Btrfs、NFS/SMB、Landlock 和 Rust 等子系统。维护自定义内核、GPU 计算或 eBPF 程序的团队可以据此开始预检兼容矩阵,但不要用提交数推断稳定性。

Omarchy 4.0.1 取消默认把用户加入 docker 组

OmarchyGitHub

Omarchy 在 4.0.1 安全版本中不再默认把用户加入 docker 组,改为按需加入。Docker daemon 以 root 运行,组成员可经 socket 启动特权容器并挂载宿主文件系统,因此旧默认等于让整个桌面会话隐式持有一条通往 root 的路径;继承补充组之后,浏览器、npm 脚本、IDE 和 agent 进程都能走这条路。开发机应核对 docker 组成员、socket 属主以及 CI runner 与 agent 的服务账号。

20 条

一次自以为安全的 MySQL 升级把自增 ID 弄乱了

ElisElis's Blog

作者收到数据库 EOL 通知,先升级绿色副本再切换,一小时后收到怪异报错:某张表的自增 ID 顺序变了,原来的 1 变成 26,引用它的六张表里五张跟着更新,剩下一张仍指向旧 ID。根因是此前一次迁移用 ALTER TABLE 加了 AUTO_INCREMENT 主键,MySQL 文档写明这种操作在源库与副本上行序可能不同;而源库的 binlog_format 是 MIXED,五张表的 UPDATE 走语句复制在副本本地重新求值,另一张走行复制把源库的 ID 直接搬了过来。

vLLM 0.28.0 引入分层 KV 缓存并移除两个参数

vLLMGitHub

vLLM 0.28.0 是 584 次提交、270 位贡献者的大型更新,不是常规补丁。它带来磁盘 KV offload、可在树外加载的二级层管理器和 tiering 指标,以及 Model Runner V2 的 E/P/D 解耦与权重 offload,同时把 max_num_batched_tokens 默认值提高到 16384。兼容性上 bitsandbytes 移为外置插件,两个已弃用的运行时参数被删除。升级前应对首字延迟、吞吐与失败恢复做 A/B 对比。

GrapheneOS 称 Pixel 11 缺少可用的 ARM MTE 支持

GrapheneOSGrapheneOS

GrapheneOS 在公开帖中表示,由于 ARM 硬件内存标记在软件、固件以及很可能硬件层面缺少支持,项目无法完成 Pixel 11 系列的移植。目前没有看到 Google 对这一原因的独立技术说明,因此它属于项目方声明,而不是对芯片或设备设计的最终认定。内存标记对捕捉内存安全类漏洞有实际价值,若说法成立,受影响的就不只是某一版系统的功能缺口,而是设备支持范围、威胁模型和更新年限。安全终端与高价值密钥设备的采购清单,应把 MTE 可用性和第三方系统支持路线一并写进去。