↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

PostgreSQL 博览 RSS 订阅

当天收录 26 条。

长事务会放大 MultiXact 缓存未命中的代价

Christophe PettusThe Build

外键检查形成的行锁会产生 MultiXact,长批量事务又让其他会话反复读取旧成员记录。Christophe Pettus 的实测显示,缓存容量不足时,即使文件已在操作系统缓存中,系统调用与锁竞争仍会拖慢插入。PostgreSQL 17 起可调整两个专用缓存,但它们不会随共享缓冲区增大。19 测试版将偏移项扩为 64 位后,同样的缓存页只能容纳一半记录;升级评估应结合 SLRU 读数和最长持锁事务重新估算容量。

pg_vault_tde 1.7.2 修复数据损坏并更换行格式

Miriade Srlpg_vault_tde

pg_vault_tde 1.7.2 修复透明加密表的更新崩溃、并发密钥轮换及钱包迁移导致的数据不可读问题。新的 v5 行布局保留可遍历的属性结构,旧 v4 行仍可读取,但更新前必须逐表执行 VACUUM FULL 重写。加密索引同时收紧为等值查询,避免范围查询返回错误结果。启用自定义 TOAST WAL 的实例还须干净停机,并同时升级主备;此次资源管理器编号变更不支持滚动升级。

pg_ivm 1.16 修复增量维护崩溃与误报冲突

IVM Development Grouppg_ivm

pg_ivm 通过基表更新后立即应用增量,让物化视图保持最新。1.16 版增加 PostgreSQL 19 支持,并修复同一事务内维护后删除视图造成的崩溃,以及全局 OID 超过有符号整数上限时维护失败的问题。即使视图没有引用某列,基表中缺少默认等值运算符的类型此前也会阻断维护,新版补上了这一边界。提交阶段释放锁的时机也已调整,避免没有实际并发维护时仍报锁冲突并导致事务失败。

Babelfish 全文检索迁移须逐项核对语义

Anand Raghavan、Bhavesh Rathod、Vanshika NigamAWS Database Blog

SQL Server 应用迁往 Babelfish 时,T-SQL 接口兼容不代表全文检索能力等价。AWS 给出的六步评估先检查语义搜索、二进制文档索引与非英语分词等阻碍,再清点停用词、查询形式和全文目录。部分搜索可用 PostgreSQL 函数改写,但还需补齐 GIN 索引与排序逻辑,返回顺序也未必一致。团队应把应用代码与动态 SQL 纳入盘点,并对最重的检索负载回归,决定哪些保留兼容层、哪些转向原生搜索。

线程池收益取决于数据缓存与连接并发

Bogdan DegtyariovPercona

Percona 对 MySQL 线程池的实测把 I/O 受限、部分缓存和全量缓存三类负载分开比较。厂商称,在特定 I/O 受限的高连接场景中,调优后的线程池吞吐可达默认模式的 17.9 倍;数据全部装入内存后,默认模式却在测试范围内保持更高吞吐。线程池仍能收窄高并发下的尾延迟,但线程组数与过量订阅参数没有通用最优值。测试每组只运行一次,容量规划应同时看吞吐、缓存比例和响应时间分布。

Redshift 将物化结果保存为共享 Iceberg 表

Sudipta Bagchi、Andre Hernich、Gaurav Saxena、Dhaval Shah、Srishti MittalAWS Big Data Blog

Redshift 新增 Iceberg 物化视图,把预计算结果写入 S3,供 Athena、Spark 等引擎读取同一份开放格式数据。它支持 Serverless 与 RG 实例,RA3 和 DC2 不在支持范围内。部分分组聚合与内连接可增量刷新,窗口函数、外连接等仍需全量重算。不同集群可借助目录协调刷新,但行列级权限过滤暂不支持。该能力适合复用多引擎共有的计算结果;对读取延迟敏感的报表,仍可叠加本地存储中的物化视图。