HashJoin Bloom filter 补丁跑通回归但仍会丢过滤器
Rui Zhao 报告 HashJoin Bloom filter 的 v10 补丁可以干净地打在当前 master 上,248 项回归测试全部通过,480 个查询与 GUC 组合的结果都正确。遗留问题是精确构建侧匹配模式下雪花型查询会丢掉过滤器,去重逻辑仍假设候选项之间存在子集关系。他的附加补丁改为保留所有可实现的候选项,恢复了雪花测试里丢失的六个过滤器,代价是规划时间上升。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
每日精选 PostgreSQL、数据库与云计算资讯
Rui Zhao 报告 HashJoin Bloom filter 的 v10 补丁可以干净地打在当前 master 上,248 项回归测试全部通过,480 个查询与 GUC 组合的结果都正确。遗留问题是精确构建侧匹配模式下雪花型查询会丢掉过滤器,去重逻辑仍假设候选项之间存在子集关系。他的附加补丁改为保留所有可实现的候选项,恢复了雪花测试里丢失的六个过滤器,代价是规划时间上升。
npm 现在允许一个包设置多条相互独立的可信发布配置,每条各自限定仓库、workflow 和 environment,入站 OIDC token 命中任意一条即获授权,多环境流水线不必再为第二条路径保留长寿命 token。公告还规定配置默认只能 stage,直接发布要显式开启,staged 包在恶意软件扫描完成前无法批准。语义是任一匹配即放行,规则写得宽松就等于多开一道直发入口。
GitHub 说明官方 APT 与 RPM 仓库当前使用的 PGP 密钥在 9 月 5 日到期,此后仓库元数据和新增 RPM 只用替换密钥签名。2026 年 4 月 8 日之前按官方流程装过 gh、又没有更新配置的系统需要导入包含两把密钥的 keyring,否则 apt 或 dnf 更新会突然失败,这类故障常被误判成网络或镜像问题。建议对使用官方源的 runner 和基础镜像跑一次元数据刷新与安装验证。
Mullvad 将停止自营公共 DoH 服务,转而资助 Quad9,手工配置者的迁移截止日是 11 月 2 日。Mullvad Browser 的默认设置和内置广告拦截用的 DoH 会自动迁移,但被改过的自定义 DoH 不会被覆写,已经装上的 iOS 与 macOS 配置描述文件会停止工作。DNS 配置常年遗留在 MDM、VPN 客户端、浏览器策略和 CI 里,应逐类盘点解析器地址,并保留原配置直到观测期结束。
把分区索引改成与自动生成名冲突的名字后,ALTER TABLE ... ALTER COLUMN TYPE 会报错,缺陷在 18 之前就存在。
移除 pgstat_relation_flush_cb() 里的 live/dead 计数器重置后,回归测试只剩一处失败。
HN 帖称 CVE-2026-85046 已遭利用,但截稿前找不到可交叉核对的 Chrome 厂商修复公告。
返回带时间戳的历史 star 数,依赖旧 stargazer 列表画增长曲线的工具可以迁移过去。
unpinned-tag 规则开始识别可复用 workflow 的可变引用,既有代码扫描可能因此出现新增告警。
企业与商业版在全局默认未关闭时会自动启用新模型,管理员应先复核模型策略、预算与数据边界。
Seedfast 的 Mikhail Shytsko 在 PostgreSQL 18.6 与 19beta3 上逐项验证 session_replication_role = replica:外键、ON DELETE CASCADE、规则和事件触发器确实静默,标记 ENABLE REPLICA 的触发器反而开始触发,而 CHECK、NOT NULL、唯一约束和行级安全照常拦截。恢复时只有 NOT ENFORCED 切回会扫表。
PostgreSQL 19 新的外键快速路径批处理层被查出两个缺陷:在 AFTER 触发器里执行 ALTER TABLE ... ADD FOREIGN KEY 时,验证检查被错误并入外层批次,外键检查因此被跳过,孤立行会当作合法数据提交;SET CONSTRAINTS ... IMMEDIATE 启动嵌套触发周期时则触发断言崩溃并漏检。两个补丁已就绪,要等批处理层是否从 19 回退有结论才推送。
Ajit Awekar 的补丁修复了 2018 年就已知的缺陷:通过 postgres_fdw 对分区外表批量 DELETE/UPDATE 会造成数据逻辑损坏。Jakub Wartak 审查后指出代价不小:补丁用 ROW() 和列名各传一次数据,所有 postgres_fdw 外表的 CPU 开销约翻倍;逐行发出的语句无法按 tableoid 做分区裁剪,性能随行数与分区数之积恶化。部分问题还没有明确方案。
PostgreSQL 19 的 REPACK 在 beta 末期集中修补三处限制:对不支持逻辑解码的非 heap 访问方法执行 REPACK (CONCURRENTLY) 可能静默丢数据,Bharath Rupireddy 的补丁补上访问方法检查;标记 user_catalog_table 的表将被禁止并发重整,以免内容对输出插件不可见;表所有者缺少 CONNECT 权限时的失败也已修好。
Sami Imseih 把修复分区索引重建丢失 replica identity 的补丁拆成 v18 三部分:非后代分区的 DEPENDS ON EXTENSION 保留、SET EXPRESSION 的覆盖,以及后代分区索引属性的保留。Zsolt Parragi 测试时发现新的名称冲突:把某个分区索引改名成另一个分区的默认索引名之后,再用 ALTER TABLE 改列类型会报 relation already exists。
启用 sync_replication_slots 时失效无法持久:同步 worker 会用更新的 catalog_xmin 把槽重建回来。
Michael Paquier 为 v20 的 8 字节 TOAST 值预留命名,扩展开发者可能要跟着改。
v6 补丁补上命中与未命中的活动测试,视图还给出 cache_bytes、max_open_fds 与命中率。
RSA 密钥交换时没有协商组,函数拆成保留 NULL 的底层实现和过滤 NULL 的外层。
find_all_inheritors_ordered() 用 Kahn 排序保证祖先先于后代,简化了 CHECK 约束的既有修复。
Tom Lane 提醒 INTERNAL 状态要自备 serialize/deserialize 函数,并非无条件更优。
relhassubclass 在继承解除后仍为真,postgres_fdw 只看这个字段,误报将写进文档。
最省的 GPT-5 Nano 约 3 分钟跑完,最快的 Llama 3.1 8B 只有 34 条通过准确性检验。
刚进入 PostgreSQL 19 的 SQL/PGQ 属性图功能被查出成片问题:改写图表时不持锁、ALTER 的锁级别不足、依赖处理让 ALTER TABLE 报错、pg_dump 静默丢数据,非唯一键还会让查询结果出错。Melanie Plageman 代表发布管理组提议把它从 REL_19_STABLE 回退,Peter Eisentraut 同意,Robert Haas 主张连 master 一并回退。
Mihail Nikalayeu 发现 DETACH PARTITION ... CONCURRENTLY 被中断之后,分区在 pg_class 里的 relispartition 标记仍然保留,而 get_partition_ancestors() 已不再返回它,只有再执行 FINALIZE 才能清除;Nisha Moond 确认逻辑复制的 get_rel_sync_entry() 是同一根因。用到并发分离的系统应在中断后核对目录。
KrebsOnSecurity 报道名为 Nexus 的暗网服务宣称手握超过 1.53 亿张美国和加拿大驾照扫描件,记者用样本与时间戳把线索指向身份验证链路,报道称 FBI 新奥尔良分部已经立案;IDScan.net 当时只确认在调查潜在事件,报道之后该站点下线。归因尚未证实,但风险很具体:证件正反面与照片无法像密码那样轮换。做证件 OCR 或活体核验的团队应盘点采集与留存位置和子处理方,默认不保存原图。
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 变成可验证的资源。
GitHub 把 Copilot 代码审查的批准能力作为公开预览开放。默认关闭时,审查里的 approval assessment 只显示判断、不计入合并要求;管理员在企业、组织或仓库层开启之后,Copilot 提交的批准才能满足 required approvals,新提交也会像人类批准一样让它失效。这等于把建议角色写进合并权限模型,一次组织级默认配置就可能波及大量仓库,稳妥做法是先在低风险仓库试点并保留人工批准。
同列同时建有 btree 与 GiST 索引时,等值查询可能选中 GiST,代价估算偏差让执行慢约 300 倍。
对约 43 亿个 INT_MAX 求和会得到负数,串行计划静默溢出,并行聚合却可能报错,行为并不一致。
缺失的谓词锁可能破坏可序列化保证,已被列为 19 的待办事项,目前还没有补丁。
时态子句丢失后整行被改写或删除,补丁参照 INSTEAD OF 触发器的做法对这一组合直接报错。
Peter Smith 用约 300 种继承与分区组合验证了 Shveta malik 提出的排除规则,结论是无歧义。
补丁去掉对游标的依赖后,postgres_fdw 已能连上并不支持游标的 MotherDuck 兼容端点。
文章指出各类工具通常只解决迁移中的一环,需按负载特点、schema 复杂度和可接受停机时间组合。
Azure PostgreSQL Flexible Server 只带 Apache 2 版 TimescaleDB,缺压缩、连续聚合与 skip-scan。
由 gh elm 扩展管理,把长时间冻结缩短为切换时排空在途修改,起点版本从 GHES 3.17.18 起。
终端、文件系统和浏览器操作在客户账户内执行,但模型读取的文件片段与 PR 用产物仍会上传。
经 net/http/pprof 暴露在 /debug/pprof/goroutineleak,只覆盖 channel 与 sync 原语上的部分阻塞。
被排除的文件不再作为 agent 上下文,但只覆盖遵从该策略的通道,替代不了密钥扫描和最小权限。
PGDG 的公告说明,缺少授权检查使持有 REPLICATION 权限但不是超级用户的角色,能借逻辑解码插件名让服务端 dlopen 运行账户可见的任意文件,从而以数据库服务账户执行代码。受影响的是 18.6、17.11、16.15、15.19、14.24 之前的版本,修复早在 8 月 13 日随这批小版本发布,9 月 1 日新增的是第三方把攻击路径写清楚的技术拆解,复现门槛因此降低。运维应先升级低于修复线的实例,再清点 rolreplication 角色并轮换可疑凭证。
Google 宣布 BigQuery Graph 正式可用:ISO GQL 与 SQL 并列,图遍历在 BigQuery 内原生执行,官方口径是图分析不再需要单独做 ETL。公告还描述了跨 Google Cloud 与 AWS 等数据源的虚拟知识图谱,以及面向 agent 的聊天与记忆能力,其中一部分仍在预览。图能力过去常逼着团队把关系数据复制到独立图库,因此值得用依赖关系、权限、订单链这类真实场景做对照测试,核对 GQL 表达能力、扫描与槽位成本和权限继承。
Mozilla 的 MFSA 2026-82 列出 Firefox 155 修掉的一批高影响缺陷,包括 Android 上的权限提升、JavaScript 垃圾回收的释放后使用、DOM Navigation 与 Security 组件的沙箱逃逸、音视频组件的释放后使用,以及 WebGPU 权限提升。公告没有说这些缺陷已在野利用。浏览器同时装着开发者的登录态、云控制台和内部系统,受管桌面、开发机和 Android 终端应按常规紧急窗口推进更新。
Cloudflare 从 9 月 1 日起对 Workers Free 计划的 D1 硬性执行每日行读与行写限额:达到上限后 Worker Binding 和 REST API 都返回错误,一直持续到世界协调时午夜重置,已存储的数据不受影响。这把超额从计量提醒变成了可用性边界,重试并不能绕过当日上限。免费 D1 上跑着用户流量的应用应加用量告警和错误分类,检查读写放大与批量任务,并把午夜重置写进 runbook。
新增排空远端结果的封装和丢行标志,有人已在不支持游标的 MotherDuck 兼容端点上跑通。
补丁系列改用 pselect() 实现取消,作者请求先合入第一个清理补丁以停止反复变基。
同一列同时建有 btree 与 GiST 索引时,代价估算会失真,短期方案是新增不注册等值操作符的操作类。
属性图仍有元数据孤立、跨元素共享作用域和是否入 pg_class 等未决设计问题,RMT 已公开表达严重担忧。
批量插入失败会留下死元组,PostgreSQL 13 起按插入量触发的 autovacuum 一旦跟不上,顺序扫描就在读死空间。
上游把生命周期终点写为 2026 年 9 月,延长支持只覆盖 GKE 的 Kubernetes 1.30–1.32 场景。
官方迁移方向是 CI 里的 docker scout cves/policy 或长期运行的 watch,需确认告警链路没有静默消失。
同版本还加了 Kubernetes API 日志数据源并修复两个 HTTP 采集 DoS;缺兼容 bouncer 可能静默拒绝全部客户端。
基金会同时宣布 1000 万美元 Responsible AI 计划,签名、SBOM 与 attestation 仍需按项目单独验收。
PostgreSQL 19 的 ON CONFLICT 被查出两处回归。一是向分区表插入时,若目标子分区带有本地的可延迟唯一约束,路由后的插入会直接失败;二是提交 2bc7e886fc1 让 NULLS NOT DISTINCT 约束被静默当成仲裁器,顶替用户指定的约束名,错误被吞掉、行被意外更新。Mihail Nikalayeu 的综合补丁重做了 indimmediate 判断与排序规则比较,并部分回退原提交。
Noah Misch 指出提交 c06d1a4 改掉了恢复期间的 FSM 不变量。在开启校验和与整页写的默认配置下,restartpoint 之后的 heap_xlog_* 可以把 FSM 页面标记为脏;此时崩溃留下的撕裂页面不会在恢复中被修复,恢复却能正常结束。FSM 自己用 RBM_ZERO_ON_ERROR 静默接受坏页,heapam_relation_copy_data 这类调用方却假定读取一定成功。长期方案是恢复旧不变量,或要求所有读 FSM 的调用方一律容错。
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 与带本地 NVMe SSD 的 R9gd 正式可用,定位是数据库、缓存、实时分析和容器化负载。厂商称相对 Graviton4 的 R8g,每 vCPU 计算性能最高提升 25%,并列出 DDR5-8800、五倍 L3 缓存、最高 100 Gbps 网络和 72 Gbps EBS 带宽。对 PostgreSQL 来说这值得进入容量规划,但迁移主库前应在相同版本、扩展和数据集下比较真实 SQL、WAL、检查点与复制延迟。
PyPI 说明其日志配置自 2026 年 8 月 24 日起,只为 .whl、.tar.gz 和 .zip 这类实际分发包的请求生成下载记录。此前不少消费方没有按文件扩展名过滤,把更宽泛的对象请求也算成了一次下载。历史 BigQuery 数据不会回写,新旧两段不能直接比较。下载量常被用来判断依赖采用度、维护优先级和供应链暴露面,因此报表应在 8 月 24 日处断线分段,或者用可复现的 SQL 为两个时期各自重算,避免把口径变化读成用户流失,也避免污染阈值告警。
取反时的整数溢出所致,修复已回补到 REL_14 至 REL_19 与 master 全部受支持分支。
边界形如 TO (19, MAXVALUE) 时查询可能静默返回零行,两行补丁改为检查边界的首列键。
主缺陷已有补丁,单行超过 1 GB 的分配失败和 ALTER PUBLICATION 并发改写另立线程处理。
权重过大时幂运算底数小于 1,评分随年龄不升反降;补丁改用比值乘权重作为回退算法。
补丁让键定义相同的索引共享 opfamily 等字段并引入 ProxyContext,审查中发现共享结构有释放后使用风险。
文章把原因归于事务正确性、扩展机制和开源治理,属于厂商视角的观点文章而非测量结论。
已装的 MV2 扩展不再更新,删除后无法从商店重装,受管终端要盘点扩展 ID 与用途。
它请求把已有对象按首选存储版本重写,升级前仍要备份 etcd 并核对 CRD 与转换 webhook 的恢复路径。
这个 Rust 消息流项目在孵化器约一年半后于 8 月 19 日全票毕业,治理信号不等于可以替换 Kafka。
作者报告小样本下 60–80% 的成功率,链路是网页摘要任务加 Python 模块遮蔽,结论仍待独立复现。
PostgreSQL 19 的 WAL_LOG CREATE DATABASE 策略被查出严重缺陷。提交 add323da40a 在 heap_xlog_prune_freeze() 里加了一条断言,要求可见性映射缓冲区为脏。主备切换后,提升为主的备库可见性映射是全零,VACUUM FREEZE 会重新置位并生成不含整页镜像的 PRUNE 记录;重新加入的旧主库回放这些记录时发现位已置好,缓冲区保持干净,于是断言失败、节点反复崩溃重启。
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 向一个已失陷的 qube 执行 qvm-copy-to-vm 时,远端可控的文件名会被填进对话框命令。原有的净化只替换非 ASCII 字符和双引号,保留了 shell 元字符,随后 system() 执行构造出的命令,于是攻击从受陷 qube 穿透到最不该被攻陷的控制域。所有 Qubes OS 版本受影响,4.3 的修复包是 qubes-core-dom0-linux 4.3.22。
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 组,改为按需加入。Docker daemon 以 root 运行,组成员可经 socket 启动特权容器并挂载宿主文件系统,因此旧默认等于让整个桌面会话隐式持有一条通往 root 的路径;继承补充组之后,浏览器、npm 脚本、IDE 和 agent 进程都能走这条路。开发机应核对 docker 组成员、socket 属主以及 CI runner 与 agent 的服务账号。
pg_conflict_detection 槽可能被误判失效导致订阅无法恢复,社区倾向改由 launcher 主导检查。
非布尔表达式会被静默当成过滤条件,退化成类似 IS NOT NULL 的判断,该问题已列入 v19 待办。
NaN 可绕过 CLAMP_PROBABILITY 把行数估算抬到 1e100,并产生代价为 NaN 的索引扫描路径。
仲裁器匹配漏了 indimmediate 检查,影响 PostgreSQL 19 beta 与 master,18 不受影响。
Andrei Lepikhov 希望加请求追踪以关联调用与日志,torikoshia 主张把它当采样工具即可。
文章把提交返回的 LSN 当成路由令牌,副本追上之前把该会话的读回退到主库,并给等待超时设定路由预算。
它省掉上线前预估实例规格的环节,按需调整资源,适合流量波动大或难以预测的负载。
以 PostgreSQL 为目标平台,比较过程性代码的转换能力、schema 兼容性和能否满足业务规定的切换窗口。
站点每天约 600 万次随机 commit 浏览请求,团队打算关闭或限制匿名的高开销功能。
它覆盖 Intel 8 月 11 日的微码公告,影响 10、11 代 Core 与 Core Ultra 1 至 3,更新后需重启 dom0。
德国 Sovereign Tech Agency 投入 508,640 欧元,路线含 PipeWire 拆分授权、网络与 VPN portal。
当前文本把允许复制、再分发和修改的许可证发行者排除在“操作系统提供者”定义之外。
作者收到数据库 EOL 通知,先升级绿色副本再切换,一小时后收到怪异报错:某张表的自增 ID 顺序变了,原来的 1 变成 26,引用它的六张表里五张跟着更新,剩下一张仍指向旧 ID。根因是此前一次迁移用 ALTER TABLE 加了 AUTO_INCREMENT 主键,MySQL 文档写明这种操作在源库与副本上行序可能不同;而源库的 binlog_format 是 MIXED,五张表的 UPDATE 走语句复制在副本本地重新求值,另一张走行复制把源库的 ID 直接搬了过来。
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 在公开帖中表示,由于 ARM 硬件内存标记在软件、固件以及很可能硬件层面缺少支持,项目无法完成 Pixel 11 系列的移植。目前没有看到 Google 对这一原因的独立技术说明,因此它属于项目方声明,而不是对芯片或设备设计的最终认定。内存标记对捕捉内存安全类漏洞有实际价值,若说法成立,受影响的就不只是某一版系统的功能缺口,而是设备支持范围、威胁模型和更新年限。安全终端与高价值密钥设备的采购清单,应把 MTE 可用性和第三方系统支持路线一并写进去。
不归一化会让 pg_stat_statements 堆满按 LSN 区分的条目;MODE 与 NO_THROW 是否也归一化,留待更多使用数据。
gin_entrypage_items() 调用 index_getattr() 前缺少 TupleDescFinalize(),会触发新提交引入的断言失败。
有符号原子 API 的通用形式仍有分歧,Nathan Bossart 说明这部分改为后续任务,并将提交 v2 补丁集。
覆盖提交 2014 至 2026,不改变已覆盖的行为,集中在文档修正、量词错误诊断和 EXPLAIN 输出的清理。
外键快速路径、REPACK CONCURRENTLY、在线校验和等六项被点名,RMT 将在 RC1 前定夺是否回退。
发布渠道是维护者的社媒帖,尚未见到完整基准与迁移文档,应先用真实 schema 压测。