PostgreSQL 合入默认分区漏行修复
此前报道的多列范围分区裁剪问题已有实质进展:当分区上界含 MAXVALUE,部分查询会错误排除默认分区,静默漏掉本应返回的行。修复重新安排了边界判断,并加入回归用例;相关提交已进入主干和 PostgreSQL 19 稳定分支。它处理的是查询结果正确性,而非单纯的执行效率。使用多列范围分区与默认分区的团队可用原始用例检查自己的查询,并关注后续维护版本是否包含该修复。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
此前报道的多列范围分区裁剪问题已有实质进展:当分区上界含 MAXVALUE,部分查询会错误排除默认分区,静默漏掉本应返回的行。修复重新安排了边界判断,并加入回归用例;相关提交已进入主干和 PostgreSQL 19 稳定分支。它处理的是查询结果正确性,而非单纯的执行效率。使用多列范围分区与默认分区的团队可用原始用例检查自己的查询,并关注后续维护版本是否包含该修复。
PostgreSQL 的共享内存接口允许调用方在不知道大小时附着到已有对象,但目标不存在时,旧路径会把特殊大小值当成分配请求,触发整数溢出并可能损坏内存。新提交明确拒绝这种创建请求,同时给底层分配器补上溢出检查、文档与测试,已合入主干和 PostgreSQL 19 稳定分支。影响集中在调用该接口的代码与扩展,维护者需要检查未知大小附着的失败处理;这一变更尚不能等同于已发布的维护版本。
事务结束会归还数据库连接,却不意味着所有会话状态都已清空。一组可复现测试梳理了 PgBouncer 事务池中的租户变量、角色、搜索路径、临时表与会话锁:普通 SET 留下的状态可能被下一个借用者看到。文章将租户隔离落实到显式事务和 SET LOCAL,并要求行级安全策略在上下文缺失时拒绝访问。还需分别处理临时表与锁的生命周期,不能把连接池视为租户隔离边界;协议级预备语句的跟踪也不能替代这些约束。
SQL Server 存储过程一次调用可返回多个独立结果集,迁到 PostgreSQL 时不能只改 SQL 语法。AWS 对比了游标、会话临时表与 JSON 聚合三种方案:临时表便于保留关系结构和流式读取,但创建与读取必须在同一连接、同一事务中完成;JSON 可合成一次响应,却需要控制结果规模和内存。文章同时给出数据库与 Npgsql 客户端改造及等价性验证步骤,帮助迁移团队把结果形状、排序和连接池行为一起纳入验收。
Redis 发布多条维护分支的安全更新,其中 8.10.2 修复了事务排队后撤销 ACL 权限仍可访问相关键的问题,并处理时间序列、向量检索和深层 JSON 输入引发的崩溃。集群总线还新增未认证启动告警,以及要求总线启用 TLS 认证的可选保护配置;该选项默认关闭。对使用细粒度权限和集群部署的团队,这次更新既涉及升级,也涉及核对总线网络暴露与认证设置,不能把新增告警误当成认证已自动启用。
Cloudflare 将 Python Workers 推向正式可用,补齐常见 Web 框架、服务绑定与网络访问能力。TCP 桥接让常用数据库客户端可配合 Hyperdrive 访问 PostgreSQL 和 MySQL,WSGI 与 ASGI 支持则帮助已有应用接入。依赖原生扩展的包仍需适配 WebAssembly 构建,迁移时要核对依赖和运行约束;变化的重点是把 Python 应用与数据库连接纳入边缘运行环境。
远端低于 PostgreSQL 12 时先将名称转成文本,再应用排序规则,避免统计信息导入失败。
修复让后台工作进程沿用调用方的锁等待与事务超时,避免角色或数据库默认值覆盖会话中的调整。
以组织字段和行级安全约束隔离平台自身目录;用户业务表仍需单独设计并迁移租户边界。
定时触发器在数据库计算节点之外运行,可唤醒已缩容到零的计算节点;继承到子分支的触发器默认关闭。
首个候选版提供可选的免 fork RDB 保存路径,并可限制缓存脚本内存;启用前需验证备份与资源配置。
rc.2 支持 GROUPING SETS 等分组语法,引入 Map 类型并调整 Parquet 枚举读取,升级需核对破坏性变更。
1.152.0 修复 vmauth 使用 match_claims 时的权限绕过,并为重标签调试返回的错误内容补上转义。
Percona 的多主机部署测试显示,模型可能用可安装版本替代指定版本,验收必须检查实际结果,不能只看执行成功。