PgPedia 周报,2025-02-16
2025 年第一轮小版本在本周发布:PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 Released! - 但等等!计划于 2025 年 2 月 20 日进行周期外发布。
PostgreSQL 18 更改
- 添加了基于成本的 VACUUM 延迟时间跟踪,该功能已添加到
pg_stat_progress_analyze
和pg_stat_progress_vacuum
以及相关的日志输出中 - 积极扫描所有可见页面以摊销积极的 VACUUM
- 将跳过已中止事务的逻辑解码
pgcrypto
:增加了对AES
加密中CFB
模式的支持
PostgreSQL 18 文章
- 等待 PostgreSQL 18 – 将基于成本的 VACUUM 延迟时间添加到进度视图 (2025-02-13) - Hubert 'depesz' Lubaczewski
- PostgreSQL 18:虚拟生成列 (2025-02-10) - Daniel Westermann / dbi services
PostgreSQL 链接
博客、播客、新闻通讯等
- Scaling Postgres 353:OLTP 到 Parquet 进行分析 (2025-02-16) - 关于近期 PostgreSQL 文章等的视频回顾,约 16 分钟
- Postgres Weekly 第 588 期 (2025-02-13)
- postgres-contrib.org:2025-02-03 周的贡献 (2025-02-10)
公告
- PGroonga 4.0.0 - 多语言快速全文搜索 (2025-02-11)
- Citus 13.0 发布! (2025-02-10)
其他
- 通过 RPM 安装 PostgreSQL 扩展
- 对 PostgreSQL Yum Repository 中的 扩展 RPM 的有用概述,包含各个扩展的页面
在 PostgreSQL 的这一天,25 年前
PostgreSQL 提交的值得关注的变更
a7f95859 (2025-02-16):
在 fmtIdEnc() 中,处理 enlargePQExpBuffer() 的失败。
- 9f45e6a9 (2025-02-15):
使转义函数保留无效字符的尾部字节。
- 2a8a0067 (2025-02-15):
修复 read_stream.c 中的显式 Valgrind 交互。
- efdadeb2 (2025-02-14):
修复 PQescapeLiteral()/PQescapeIdentifier() 的长度处理
- 7720082a (2025-02-14):
向 VACUUM/ANALYZE (VERBOSE) 和 autovacuum 日志添加延迟时间。
- 9ad1b3d0 (2025-02-14):
pgcrypto:添加对 AES 加密中 CFB 模式的支持
- 760bf588 (2025-02-14):
在 HandleParallelMessage() 中使用 PqMsg_Progress 宏。
- c3e775e6 (2025-02-14):
在 VACUUM 的第三阶段使用流式读取 I/O
- 92568226 (2025-02-14):
在 VACUUM 的第一阶段使用流式读取 I/O
- 32acad7d (2025-02-14):
将 heap_vac_scan_next_block() 的布尔参数转换为标志
- 67a02341 (2025-02-14):
修复解引用对象的断言
- 432c30dc (2025-02-13):
从 execute_extension_script() 中移除未使用的参数。
- cdaeff9b (2025-02-13):
XLogRegisterData, XLogRegisterBufData 的 void * 参数用于二进制数据
- 773c51dd (2025-02-13):
修复 MakeTransitionCaptureState() 以返回一致的结果
- abfb2964 (2025-02-12):
将 RBTXN_PREPARE 重命名为 RBTXN_IS_PREPARE 以便更好地区分。
- 072ee847 (2025-02-12):
跳过已中止事务的逻辑解码。
- 9e66a2b7 (2025-02-12):
移除 fmgr.c 中不必要的 volatile 限定符。
- fd602f29 (2025-02-12):
清理 receivelog.c 中难以理解的逻辑。
- fcd77a68 (2025-02-12):
修复 pg_dump 中一些小的内存泄漏。
- 5b94e275 (2025-02-12):
修复 pg_createsubscriber 中一些内存释放不一致的问题
- bb8dff99 (2025-02-11):
将基于成本的 VACUUM 延迟时间添加到进度视图。
- e5b0b0ce (2025-02-11):
向 vacuum_delay_point() 添加 is_analyze 参数。
- d0d649e9 (2025-02-11):
限制 pgbench COPY FREEZE 的目标为普通关系
- 38172d18 (2025-02-11):
哈希聚合的注入点。
- 052026c9 (2025-02-11):
积极扫描所有可见页面以摊销积极的 VACUUM
- c366d2bd (2025-02-11):
允许扩展函数参与就地更新。
- 6c7251db (2025-02-11):
实现关于展开变量更新的新优化规则。
- 36fb9ef2 (2025-02-11):
检测 plpgsql 赋值目标是否为“局部”变量。
- a654af21 (2025-02-11):
对 plpgsql 表达式构建进行初步重构。
- 6a7283dd (2025-02-11):
重构 pl_funcs.c 以提供与使用无关的树遍历器。
- 6998db59 (2025-02-11):
当不在宏中时,用 Assert() 替换 AssertMacro()
- 5bf12323 (2025-02-10):
使 appendPsqlMetaConnect() 适应新的 fmtId() 编码预期。
- 9f12da78 (2025-02-10):
导入索引统计信息时,在 ShareUpdateExclusive 模式下锁定表。
- 5dc1e42b (2025-02-10):
修复转义函数中无效编码数据的处理
- 3e98c8ce (2025-02-10):
指定 fmtId() 输入的编码
- 4dc28963 (2025-02-10):
添加 pg_encoding_set_invalid()
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
新 PgPedia 条目
已添加以下新条目
jit_debugging_support
jit_dump_bitcode
jit_profiling_support
log_truncate_on_rotation
min_parallel_index_scan_size
min_parallel_table_scan_size
parallel_leader_participation
parallel_setup_cost
track_cost_delay_timing
vacuum_max_eager_freeze_failure_rate
已更新条目
以下文章已更新,增加了额外信息或更正
PostgreSQL 14
- 注意到 存储参数 "
parallel_insert_enabled
" 被撤销
- 注意到 存储参数 "
存储参数
- 已修订和更新,并添加了一些缺失的参数
最后...
如果有什么遗漏,或者您有什么(建设性)想法,请留下一些反馈和/或请我喝杯咖啡。