PostgreSQL 开发分支修复待分离分区上的更新崩溃
并发分离被中断后,即使没有发布对象,UPDATE 或 DELETE 也可能崩溃;已提交修复将此类分区按独立表处理。
保留原始来源与发布日期的新闻、博客和活动。
并发分离被中断后,即使没有发布对象,UPDATE 或 DELETE 也可能崩溃;已提交修复将此类分区按独立表处理。
重复运行的分析查询常受复杂连接与聚合拖累,业务 SQL 又未必方便修改。AWS 展示了 Spark 自动匹配 Iceberg 物化视图的过程:优化器可替换整条查询或局部子树,按结构或精确形式匹配,并在视图过期时跳过改写。该功能从 EMR 7.12.0、Glue 5.1 起提供,需要显式启用。文章比较预聚合、预连接及完整结果三种设计,说明查询加速与存储、刷新成本和复用范围之间的取舍,适合据此检查真实执行计划。
在 PostgreSQL 三十周年访谈中,Tom Lane 从进程模型、共享内存与 WAL 恢复,讲到 MVCC、规划器和扩展边界。他强调独立进程带来的代码简洁性,也解释会话目录缓存为何使连接复用与线程化成为棘手问题;后端崩溃后,为保护共享内存仍须重启其他后端。对未来,他支持继续探索线程化,同时倾向把能由扩展承担的功能留在内核之外。这些取舍有助于理解连接池、故障恢复与扩展设计背后的约束。
ClickHouse 开源 WalShadow,将 PostgreSQL 物理 WAL 在源库之外解码,再写成分析库原生数据块。它用影子实例跟踪目录变化,覆盖初始装载、持续复制与表结构演进。厂商称,在同区单表测试中,提交到可查询约需 200 毫秒,吞吐接近源库。项目仍为开发预览,要求 PostgreSQL 16 以上且源库与影子实例同大版本;接入前还须确认部署环境开放物理 WAL。
自动生成的 SQL 可能在求和时附带无效排序,浪费执行时间。pgEdge 演示 PostgreSQL 19 测试版的聚合规划支持钩子,借助扩展在规划阶段改写适用类型的 SUM,移除冗余 ORDER BY。pgEdge 称,千万行实验由约 5.7 秒缩短至 3.7 秒,同时解释了 DISTINCT、排序集聚合与依赖关系的边界。目前为聚合绑定支持函数的 DDL 尚未合入,示例仍需修改系统目录,绑定关系也不能随备份恢复或大版本升级自动保留。
Christophe Pettus 将 max_connections 解释为资源预算与过载保护,而非吞吐量旋钮。该参数会影响启动时分配的共享结构,真正繁忙的连接还会叠加算子内存和锁竞争;仅按实例内存给出数千连接的云端默认值,可能把连接池问题拖成数据库故障。文章建议用事务连接池吸收应用连接,结合实际活跃量、角色连接限制及运维余量定额,并强调调高时先改备库、调低时先改主库,避免备库因参数不足暂停恢复。
逻辑复制的磁盘告警未必来自 WAL 保留。多订阅实验显示,大事务超过解码内存预算后,会在每个复制槽的 pg_replslot 目录各写一份溢出数据,提交后文件又迅速消失。开启 streaming 可将这部分压力转移至订阅端;parallel 模式有空闲工作进程时还能减少订阅端临时文件。PostgreSQL 18 虽已将新订阅默认值改为 parallel,旧设置和 TOAST 数据仍需关注,排查时应同时观察溢写与流式传输计数。
未认领项目限存活 72 小时、存储 100 MB;认领时撤销原访问令牌并轮换数据库凭据。
成功使用恢复码登录后,发布包及创建令牌等敏感写操作暂停 72 小时,安装包仍可继续。
涵盖 PostgreSQL 10 至 19 Beta 及 20 开发快照,并提供手册与扩展条目检索、三方文档入口。
已提交的修复先锁定表空间再检查依赖,并补齐重命名与所有权维护的锁顺序;提交注明回补至 PostgreSQL 14。
两项已提交修复消除参数化路径及等价类派生条件的重复执行,避免选择率被重复计算;提交注明回补至 19。
开发分支已补齐函数侧的用户映射,避免 use_remote_estimate 开启时,外部表与函数联接在规划阶段崩溃。
已合入并注明回补至 19;先获取被引用表的锁再取快照,修复已存在行被误报违反外键及 STABLE 函数可见性问题。
PlanetScale 推出 Neki 平台预览,把原生 PostgreSQL 分布到多台机器,应用通过标准协议连接路由器,由分布式规划器分派查询并汇总结果。每个分片保留一主至少两副本,跨三个可用区部署;用户用 JSON 定义分片键和表的分组,并通过内置工作流执行在线改表、升级与重新分片。系统也允许先以单分片运行,再逐步扩展。当前预览仍可能出现破坏性变更,官方要求暂不承载生产负载。
pg_vault_tde 为 PostgreSQL 17 和 18 提供表级透明加密,借助外部密钥服务保护落盘数据。1.7.1 修正了行外 TOAST 数据的附加认证数据计算,旧版写入的这类数据因此无法在新版通过认证。项目要求先在旧二进制下导出受影响表,再安装新版并恢复;直接替换软件包可能导致大字段无法读取。升级前应核对加密表的 TOAST 使用情况,并依照版本文档安排导出、恢复和应用验证。
Dalibo 的脱敏扩展 3.2 修复了自定义类型与运算符提权(CVE-2026-19633)、规则导入 SQL 注入(CVE-2026-19634)和并行静态脱敏提权(CVE-2026-83534),并默认禁止 superuser 执行 masking;anon.pseudo_* 被官方称快约 40 倍的 anon.seeded_* 取代。公告提示 PostgreSQL 14 及更早版本升级来的实例风险最高。
PostgreSQL 开发分支已把 OID 计数器扩为 8 字节,并新增 GetNewObjectId8()。检查点、WAL 与 pg_upgrade 等工具同步调整,避免计数值在恢复或升级时被截断;原有 32 位接口继续保留兼容行为。这是支持更大 TOAST 对象标识的基础工作,8 字节 TOAST 指针本身仍在讨论中。提交同时提升系统目录、控制文件和 WAL 格式版本,运行开发快照的团队需要留意数据目录兼容性;该变更尚未正式发布。