选择 打开 改范围 完整检索页

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

PostgreSQL 博览 RSS 订阅

当天收录 29 条。

PostgreSQL JDBC 42.7.12 修复通道绑定静默降级

JDBC ProjectPostgreSQL 新闻

pgJDBC 42.7.12 修复 CVE-2026-54291。连接参数写了 channelBinding=require 时,握手仍可能从带通道绑定的 SCRAM-SHA-256-PLUS 静默降级为普通 SCRAM-SHA-256,中间人防护就此失效。成因有两处:内置 SCRAM 客户端库无法为某些证书推导通道绑定哈希时返回空字节数组而不报错,pgJDBC 的认证器又没强制执行该要求。受影响的是 42.7.4 到 42.7.11。

pg_dump 目录格式被指存在路径遍历风险

Daniel GustafssonPostgreSQL hackers

pg_dump 的目录格式存在路径遍历风险:攻击者构造恶意的 toc.dat 或 blobs_*.toc 条目,就能把写入路径指到任意位置,例如让 blob_16388.dat 落到上级目录的 /etc/passwd。Dilip Kumar 提出直接匹配 . 和 .. 两个字符串,Daniel Gustafsson 指出这盖不住嵌在路径中间的 .. 序列,主张改用更精确的模式匹配,并补上恶意 TOC 文件的测试。

Robert Haas 要求回退冲突日志表的预备补丁

Robert HaasPostgreSQL hackers

逻辑复制冲突日志历史表的预备补丁 a5918fd 刚进主干,Robert Haas 就提出两处设计问题。其一,在 try/catch 中途暂存错误再调用 AbortOutOfAnyTransaction(),若调用栈上还有未执行的 catch 块,行为不可预期。其二,往冲突日志表插入记录本身失败时,这张表会与被复制的表永久失去同步。他认为方案从根上就有缺陷,呼吁回退提交并重新设计。

PostgreSQL 20 将提供按后端统计的锁信息

Hubert Lubaczewskidepesz.com

Bertrand Drouvot 编写、Michael Paquier 于 6 月 30 日提交的这个特性,给 PostgreSQL 20 加上按后端统计的锁信息。新函数 pg_stat_get_backend_lock() 接收一个进程号,按锁类型每种返回一行,字段有 locktype、waits、wait_time 和 fastpath_exceeded。它与 pg_stat_activity 连接后就能看到某个连接实时的锁等待行为,补上了聚合视图看不到单连接的短板。

PG14 到 16 最新小版本回放旧 WAL 会自死锁

Michael Banckcredativ 博客

5 月 14 日发布的 PostgreSQL 14.23、15.18、16.14 带来一个复制死锁:备库或时间点恢复实例回放由 14.20、15.15、16.11 及更早版本产生的 WAL 时,startup 进程会在 MultiXactOffsetSLRU 锁上自死锁,pg_stat_activity 里表现为该锁的等待事件,恢复就此挂住。修复已在 5 月 27 日提交,下个小版本计划 8 月 13 日发布。在那之前可退回第一季度版本,或分两步升级。

CloudNativePG 1.30.0 引入声明式角色管理

CloudNativePG 贡献者CloudNativePG

CloudNativePG 1.30.0 新增 DatabaseRole CRD,用声明式、适合 GitOps 的方式管理 PostgreSQL 角色,并引入基于 Kubernetes Lease 的主节点选举以提升故障切换安全性。安全方面修掉两个漏洞:CVE-2026-55769 靠固定 search_path 防止权限提升,CVE-2026-55765 在建角色和改角色前把明文口令转成 SCRAM-SHA-256。

pg_ivm 1.15 让 IMMV 熬过 dump 与大版本升级

IVM Development Grouppg_ivm

pg_ivm 提供可增量维护的物化视图 IMMV。IVM Development Group 发布的 1.15 最要紧的变化是支持 pg_dump 与 pg_upgrade 场景下的元数据恢复:还原数据库或大版本升级之后不必再手动删掉重建 IMMV,新增的 pg_ivm_dump_metadata 工具和 restore_immv() 函数会把元数据恢复回来。这一版还修掉外连接视图维护时的段错误。

pg_hardstorage 用内容寻址存储替掉增量链

Hans-Jürgen SchönigCybertec 博客

pgBackRest、Barman 这类工具的增量链有个脆弱之处:链上任何一个备份损坏或被删掉,下游备份就全部作废,而这种事往往等到凌晨三点恢复时才发现。Hans-Jürgen Schönig 解释 pg_hardstorage 为何干脆不做增量链,改用内容寻址存储:每个数据块以 SHA-256 哈希为标识,不同备份共享相同的块,删掉任意一个都不影响其他备份。一套 487 GiB 的生产库按小时备份一周,去重率 87.5%。