选择 打开 改范围 完整检索页

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

PostgreSQL 博览 RSS 订阅

当天收录 31 条。

全局临时表补丁集发到 v9

Dean RasheedPostgreSQL hackers

Dean Rasheed 发布全局临时表补丁集的 v9,回应 Japin Li 和 Zsolt Parragi 的审查意见。这一版对 pg_class 里非临时关系改用 reloncommit = 'n' 而不是 NULL,避免空值处理的复杂;修好 pg_dump 丢掉 ON COMMIT 子句和已中止事务错误固定 datfrozenxid 两个问题,并给子事务清理函数补上提前返回。此外还新增了 pg_dump 测试用例。

运行时过滤器下推的 PoC 补丁到 v5

Matheus AlcantaraPostgreSQL hackers

Matheus Alcantara 提交了把 Bloom filter 等运行时过滤器下推进规划器的 v5 PoC。候选过滤器不再限制为最优的三个,改按选择率阈值挑选;路径组合用广度优先逐步扩展,上限由新 GUC 控制,每种组合直接传给对应的真实路径构造函数而不是克隆已有路径。Tomas Vondra 调研 DuckDB、Spark 和 Trino 后发现它们都放在规划后处理阶段。自底向上规划估不准选择率仍是未解的核心问题。

行模式识别的偏移量合并补丁被指出十一处缺陷

Henson ChoiPostgreSQL hackers

Henson Choi 评审了行模式识别导航偏移量合并补丁的 v51。0001 修好 FIRST(expr, n>0) 丢失前向范围的回归,但他认为只做合并不够,会把原本 fail-closed 的错误变成静默的错误结果。评审列出 11 个缺陷,归为五个根因:偏移量在执行器初始化时冻结,感知不到 PARAM_EXEC 变化;volatile 检查跑在常量折叠之前;越界导航的语义不合标准。

备库上的 walsummarizer 每十秒报错且不再推进

Thom BrownPostgreSQL hackers

PostgreSQL 17.7 的备库上出现 walsummarizer 反复记录 invalid record length ... got 0 且停滞不前的缺陷。Thom Brown 提交了分析和两个补丁:0001 把 read_upto 截断到时间线切换点,0002 把全零 WAL 当作 WAL 末尾而不是硬错误。Robert Haas 认为按 SummarizeWAL 的约定调用方本应已截断,0001 是多余的。全零文件的来源仍未查明。

vacuum 统计补丁到 v40,是否进内核受质疑

Alena RybakinaPostgreSQL hackers

Alena Rybakina 提交了 rebase 后的 vacuum 统计补丁系列 v40,每个提交对应一类统计。Bharath Rupireddy 审查后提出实质质疑:补丁新增的大部分统计项,包括堆和元组指标、WAL 用量、缓冲区用量、计时信息和可见性映射变更,在现有 vacuum 的输出里已经有了。他问能不能沿用 v28 里基于 hook 的外部模块方案,而不是在内核里新增视图,并建议先给出具体的自动调优用例。

Coverity 报出大小写转换的整数溢出隐患

Tom LanePostgreSQL hackers

Coverity 在 unicode_case.c 的 convert_case() 里报出潜在整数溢出:大小写转换让输出显著膨胀时 result_len 可能回绕。Tom Lane 指出即使输入长度在 size_t 范围内,输出长度也可能溢出,32 位平台尤其明显。Jeff Davis 引 Unicode 17.0 说明映射最多带来 3 倍码点扩展,叠加 UTF-8 单码点 4 字节,上限是 12 倍;但文本上限 1GB。

用蓝绿部署在 Aurora PostgreSQL 上重建大索引

Santosh MishraAWS 数据库博客

在 Aurora PostgreSQL 上重建大索引时,REINDEX 会把排序中间数据溢写到磁盘,临时空间不够就会失败。文章的做法是把重建放进蓝绿部署的 green 环境,配合 Aurora Optimized Reads,用带 NVMe 的实例让排序数据落到本地盘而不是走网络访问 EBS。实测一个膨胀到 8918 MB 的索引约四分钟重建到 4557 MB,期间写了约 19.5 GB 临时数据。