PostgreSQL 提交跨类型提前聚合的分组修复
PostgreSQL 已提交提前聚合的跨类型分组修复。小整数与整数连接时,优化器此前可能套用另一类型的相等运算符,把不相等的值并为一组,产生错误结果。补丁只允许同类型表达式复用分组规则,同组还修复了外部表与分区连接的处理,避免部分聚合结果被当作普通扫描,并补齐子关系的排序键。三项提交均标注回补至 19,涉及这些查询的测试环境应重新核对结果与执行计划。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
PostgreSQL 已提交提前聚合的跨类型分组修复。小整数与整数连接时,优化器此前可能套用另一类型的相等运算符,把不相等的值并为一组,产生错误结果。补丁只允许同类型表达式复用分组规则,同组还修复了外部表与分区连接的处理,避免部分聚合结果被当作普通扫描,并补齐子关系的排序键。三项提交均标注回补至 19,涉及这些查询的测试环境应重新核对结果与执行计划。
PostgreSQL 的 SSL 配置重载失败时会保留旧配置,但 PG 19 的 SNI 开关此前可能已经切到新值,导致后续握手访问不存在的主机配置。已提交的修复让握手使用成功加载时的开关值,并复制相关参数,避免重载失败后继续引用失效内存;同组还补上 TLS 销毁与初始化失败时的资源清理。四项修复均标注回补至 19,测试环境可重点复核证书、主机配置热更新后的新连接与回退行为。
Radim Marek 以 PostgreSQL 18.6 的两百万行实验说明,TABLESAMPLE 按物理地址选行。SYSTEM 按页抽样,减少读页,却会让按时间装载的数据成簇入样;BERNOULLI 按行抽样,仍须访问全部页。固定随机种子也无法保证更新或表重写后抽到同一批记录。需要稳定且能保持外键关系的测试子集时,可对主键与相应外键使用同一哈希规则,但要付出全表计算或维护表达式索引的成本。
全文检索扩展 pg_fts 的 1.11、1.12 版本修复多处索引缺陷。并发刷新待处理列表曾可能丢失新行,已删除行也可能残留并误命中;截断锁与页面回收竞态还会导致崩溃。升级不改变磁盘格式,已有索引中的异常条目需用 REINDEX 清理。1.12 缓存词典索引,减少共享缓冲区的反复加锁和访问;词典缓存重建期间取消查询仍可能泄漏内存,常驻会话需留意这一已知问题。
ScyllaDB 2026.3.3 修复多处影响恢复与存储可靠性的缺陷:回放损坏日志段时,大事务片段缓存现按分片隔离,避免混入其他分片的数据;刷新 SSTable 目录时,也只处理已完整创建的文件,防止误删仍在生成的组件。更新还处理了日志段分配超时后无法释放、反复发生可阻塞写入的问题,并为 S3 读取重试加入退避与次数上限。正在使用对象存储或执行节点维护的集群,需关注这些恢复与运维路径。
Turso 0.8 为 BEGIN CONCURRENT 加入组提交,让一批事务共用一次日志 fsync,降低并发写入等待。事务仍须等日志刷盘才可见,持久性约束不变。厂商称,同配置微基准中的吞吐与尾延迟有所改善,但单连接写入仍不及 SQLite,同一行的写冲突仍需重试。该版还补齐窗口函数和递归查询,让全文索引适配 MVCC;Turso Cloud 的 MVCC 仍处技术预览阶段。
提交者在全页镜像密集负载中测得恢复提速最高约 4%;上下文随读取器复用,并在结束或错误清理时释放。
旧实现把部分标量排序的分配量记为零,漏算按引用存储的数据;修复覆盖不同分配器,并标注回补至 17。
Tiger Data 比较行数和设备数对延迟的影响,并用留出样本验证;累计平均值会掩盖近期变化,增长范围太窄也难以判断曲线。
CREATE INDEX 可用 WHERE 只保存工作集;查询条件须落在索引谓词范围内,才能减少扫描与存储。
以 root 运行检查点镜像可能绕过权限限制;6.1.3、5.8.8 已移除该启动路径,rootless 模式不受影响。
DTLS 握手写入受阻时,重传可能泄露堆内存或导致崩溃;4.0.3、3.6.5 等版本已修复。
官方保留既有源码与二进制,后续开发转向托管版和企业版;目前不再计划社区版的新版本、缺陷修复或安全补丁。
厂商称,在其配置下改用 WAL-G 后,1.5 TB 样例备份从约一天缩至两小时;每个数据库实例独占计算节点,并通过 PgBouncer 接入。