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

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

PostgreSQL 博览 RSS 订阅

当天收录 26 条。

开发分支修复校验和状态的跨节点误传播

Zsolt Parragi、Bertrand DrouvotPostgreSQL

PostgreSQL 开发分支修复了恢复流程错误继承其他节点校验和状态的问题。此前仅在主库离线开启校验和,备库可能开始验证自己并未写入的校验和;备库本地调整也可能被后续检查点覆盖。修复让控制文件保留本节点状态,回放时核对差异,并同步收紧 pg_rewind 与增量备份合并的状态校验。这批改动已进入 master,涉及控制文件版本递增;离线调整仍须逐个数据目录处理,复制不会自动替所有节点切换。

并行 GIN 建索引修复超长键截断

Ewan YoungPostgreSQL

PostgreSQL 的并行 GIN 索引构建会把键值暂存为排序元组,其中键长原先只用 16 位字段保存。遇到超过 65535 字节的键时,长度被截断,后续代码会把键内容误当作倒排列表,可能触发断言、越界读取,甚至向索引写入错误数据。新提交把键长改为 Size,并显式保证数据对齐,兼顾 32 位平台。问题仅涉及并行构建使用的临时格式,同一数据的串行构建不走这条路径;修复已合入 master 和 19 分支。

orafce 4.16.9 修复文件路径穿越

Pavel Stěhuleorafce

orafce 为 PostgreSQL 提供 Oracle 兼容函数与工具包,其中 utl_file 允许 SQL 程序操作服务端文件。4.16.9 修复了这一包的路径穿越:旧逻辑信任已登记的目录,却没有在拼接文件名并规范化路径后再次检查实际位置,已获授权的用户可能访问目录范围以外、数据库操作系统账号能够打开的文件。新版对最终路径统一执行安全目录检查。该包默认关闭,已启用它的团队应核对版本、授权与目录配置,并在升级后回归文件访问流程。

pg_stat_monitor 2.4 调整统计口径与权限

PerconaPercona

Percona 发布 pg_stat_monitor 2.4.0,修复崩溃、内存泄漏与错误统计,并收紧普通用户读取他人查询标识和文本字段的权限。plans 现在只累计实际规划次数,复用缓存计划或执行工具语句不再抬高计数;未设置的 application_name 改为 NULL,名称缺失时的占位字符串也被移除。新版本最低要求 PostgreSQL 14,并删除已废弃的溢出参数。依赖这些字段的监控面板、告警和采集配置需要随升级一起校准。

用阻塞树定位 Aurora PostgreSQL 行锁争用

AWSAWS 数据库博客

行锁争用可能在 CPU 和磁盘指标平稳时拖垮订单吞吐,扩容存储或增加只读副本也无法消除同一行上的写入竞争。AWS 新发布的两篇技术文章先从行版本、事务锁和系统视图解释阻塞关系,再演示用 Database Insights 高级模式的阻塞树还原历史等待链。治理方案包括缩短事务、把外部调用移出持锁区间、设置超时,以及把热点计数拆到多行。文章同时给出可复现的库存负载,便于区分临时解阻与应用结构调整的效果。

研究用 eBPF 解释云数据库的隐性写回停顿

Mitsumasa KondoarXiv / NTT

NTT 的研究用 eBPF 追踪云端 PostgreSQL 的写回路径,发现每个块设备的单一回写线程可能来不及排出脏页,进而触发前台写入限流,而普通磁盘统计难以直接呈现这些停顿。实验在 PostgreSQL 16.4、Linux 5.14 和相同总 IOPS、带宽配置下比较一、二、四块云盘。论文报告,四盘布局相对单盘减少约 70% 的限流停顿,吞吐提高约 23%,最大事务延迟降低约 59%。这些结果提示排障时还应检查内核写回并行度。