长事务会放大 MultiXact 缓存未命中的代价
外键检查形成的行锁会产生 MultiXact,长批量事务又让其他会话反复读取旧成员记录。Christophe Pettus 的实测显示,缓存容量不足时,即使文件已在操作系统缓存中,系统调用与锁竞争仍会拖慢插入。PostgreSQL 17 起可调整两个专用缓存,但它们不会随共享缓冲区增大。19 测试版将偏移项扩为 64 位后,同样的缓存页只能容纳一半记录;升级评估应结合 SLRU 读数和最长持锁事务重新估算容量。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
外键检查形成的行锁会产生 MultiXact,长批量事务又让其他会话反复读取旧成员记录。Christophe Pettus 的实测显示,缓存容量不足时,即使文件已在操作系统缓存中,系统调用与锁竞争仍会拖慢插入。PostgreSQL 17 起可调整两个专用缓存,但它们不会随共享缓冲区增大。19 测试版将偏移项扩为 64 位后,同样的缓存页只能容纳一半记录;升级评估应结合 SLRU 读数和最长持锁事务重新估算容量。
pg_vault_tde 1.7.2 修复透明加密表的更新崩溃、并发密钥轮换及钱包迁移导致的数据不可读问题。新的 v5 行布局保留可遍历的属性结构,旧 v4 行仍可读取,但更新前必须逐表执行 VACUUM FULL 重写。加密索引同时收紧为等值查询,避免范围查询返回错误结果。启用自定义 TOAST WAL 的实例还须干净停机,并同时升级主备;此次资源管理器编号变更不支持滚动升级。
pg_ivm 通过基表更新后立即应用增量,让物化视图保持最新。1.16 版增加 PostgreSQL 19 支持,并修复同一事务内维护后删除视图造成的崩溃,以及全局 OID 超过有符号整数上限时维护失败的问题。即使视图没有引用某列,基表中缺少默认等值运算符的类型此前也会阻断维护,新版补上了这一边界。提交阶段释放锁的时机也已调整,避免没有实际并发维护时仍报锁冲突并导致事务失败。
SQL Server 应用迁往 Babelfish 时,T-SQL 接口兼容不代表全文检索能力等价。AWS 给出的六步评估先检查语义搜索、二进制文档索引与非英语分词等阻碍,再清点停用词、查询形式和全文目录。部分搜索可用 PostgreSQL 函数改写,但还需补齐 GIN 索引与排序逻辑,返回顺序也未必一致。团队应把应用代码与动态 SQL 纳入盘点,并对最重的检索负载回归,决定哪些保留兼容层、哪些转向原生搜索。
Percona 对 MySQL 线程池的实测把 I/O 受限、部分缓存和全量缓存三类负载分开比较。厂商称,在特定 I/O 受限的高连接场景中,调优后的线程池吞吐可达默认模式的 17.9 倍;数据全部装入内存后,默认模式却在测试范围内保持更高吞吐。线程池仍能收窄高并发下的尾延迟,但线程组数与过量订阅参数没有通用最优值。测试每组只运行一次,容量规划应同时看吞吐、缓存比例和响应时间分布。
Redshift 新增 Iceberg 物化视图,把预计算结果写入 S3,供 Athena、Spark 等引擎读取同一份开放格式数据。它支持 Serverless 与 RG 实例,RA3 和 DC2 不在支持范围内。部分分组聚合与内连接可增量刷新,窗口函数、外连接等仍需全量重算。不同集群可借助目录协调刷新,但行列级权限过滤暂不支持。该能力适合复用多引擎共有的计算结果;对读取延迟敏感的报表,仍可叠加本地存储中的物化视图。
支持断点、单步执行与变量监视,并增加事件触发器、函数和存储过程的可视化编辑器。
新增原生编译程序运行时与版本固定;首次挂载或移除最后一个 UDF 会滚动重启,原生运行时暂不支持出网。
内部表保存网格编号、覆盖类型和原表主键,执行计划先排除不相交网格,仅对边界候选调用昂贵的空间函数。
新增半结构化、地理与纳秒时间类型,并支持删除向量和行血缘;升级到 v3 后不能降回 v2,新类型限 Parquet。
RESTART 模式保留健康检查与告警,但不执行负载均衡摘流量步骤,请求型服务需在停止钩子中排空在途请求。
官方通过编译与沙箱负载实测本地 SSD 交换空间:冷数据可让出内存,活跃工作集被挤出后耗时仍会明显增加。
除 7 版外均受影响,能否利用取决于处理器;禁用非特权 BPF 与 JIT 加固均不能阻止攻击,截至公告仍待厂商内核修复。
基准包含 19 种语言的 219 个拉取请求,分别评价既有缺陷与新发现问题,并可按严重程度、精确率和召回率筛选结果。