PgPedia 周报,2025-01-12
2025 年正加速前进,随着 CommitFest 2025-01 的进行,我们又看到了一些 PostgreSQL 18 的新变化。在更贴近我们日常的消息方面,PgPedia 周报
的格式已得到扩展,增加了指向 PostgreSQL 18 的近期文章、上一周发布的其他 PostgreSQL 相关通讯,以及一般 PostgreSQL 公告的链接。哦,还有一个新近添加的部分,列出了 25 年前 的提交记录,以防有人想偶尔回顾一下过去。
PostgreSQL 18 更改
autovacuum_max_workers
现在无需服务器重启即可更改- 但是,如果新值超过新 GUC
autovacuum_worker_slots
的值,则新值将无效
- 但是,如果新值超过新 GUC
- 已添加对
CHECK
约束中NOT ENFORCED
的支持 - contrib 模块
passwordcheck
现在拥有一个min_password_length
GUC
PostgreSQL 18 文章
- 等待 PostgreSQL 18 – 支持 LIKE 和不可确定性排序规则 (2025-01-10) - Hubert 'depesz' Lubaczewski
- PostgreSQL 18:动态更改 autovacuum 工作进程的最大数量 (2025-01-08) - Daniel Westermann / dbi services
- 讨论了对
autovacuum_max_workers
的改进以及新的 GUCautovacuum_worker_slots
- 讨论了对
- Postgres 后端统计 (第一部分):I/O 统计 (2025-01-06) - Bertrand Drouvot
- 等待 PostgreSQL 18 – psql:添加有关服务名的更多信息 (2025-01-06) - Hubert 'depesz' Lubaczewski
- 等待 PostgreSQL 18 – 添加 UUID 版本 7 生成函数 (2024-12-31) - Hubert 'depesz' Lubaczewski
- 审查了
uuidv7()
函数
- 审查了
PostgreSQL 声明
- powa-archivist 5.0.1 发布! (2025-01-09)
- PoWA(“PostgreSQL Workload Analyzer”)是一个性能工具,用于收集和聚合从多个 PostgreSQL 实例收集的指标,以进行监控和优化
- pgspot 0.9.0 发布 (2025-01-08)
- pgspot 是 PostgreSQL SQL 脚本的漏洞检查器
- PostgreSQL Anonymizer 2.0:更好、更快、更安全 (2025-01-07)
- 一个基于 Rust 的 扩展,用于掩盖/替换个人身份信息 (PII) 或商业敏感数据
- pg_partman 5.2.4 发布 (2025-01-07)
- pg_partman 是一个提供分区操作支持的扩展
- SQLPage v0.32:用 SQL 构建 Web 应用,现已支持更多样式! (2025-01-06)
- SQLPage 是一个开源工具,用于将 SQL 查询结果渲染为交互式网页
其他有趣的 PostgreSQL 链接
- 2024 年 PostgreSQL 总结 (2025-01-10) - HexaCluster / Avinash Vallarapu
- Postgres Weekly #583 (2025-01-09)
- EDB Engineering Newsletter #2 (2025-01-07)
- pgMustard 2024 年 12 月通讯
在 PostgreSQL 的这一天,25 年前
- 2000-01-11:oid8 / int28 重命名为 oidvector / int2vector
- 2000-01-10:函数现在最多可以有 32 个参数
- 2000-01-09:resultmap 支持已添加到回归测试中
PostgreSQL 提交的值得关注的变更
- 97698cc5 (2025-01-12):
修复 HBA 选项计数
回溯补丁 ~ 13 - a93e2a1e (2025-01-12):
修复 JsonExpr 反解析以引用 PASSING 子句中的变量名。
回溯补丁 ~ 17 - d673eefd (2025-01-12):
修复 XMLTABLE() 反解析,在必要时引用命名空间名称。
回溯补丁 ~ 13 - 29dfffae (2025-01-11):
修复 plpython 中的内存泄漏。
回溯补丁 ~ 13 - ca87c415 (2025-01-11):
添加对 CHECK 约束中 NOT ENFORCED 的支持
- e0ece2a9 (2025-01-10):
TupleHashTable:与元组一起存储附加数据。
- 34c6e652 (2025-01-11):
在非断言构建中使 verify_compact_attribute 可用
- a9dcbb4d (2025-01-11):
添加新的 StringInfo API,允许调用者指定缓冲区大小。
- 27a1f8d1 (2025-01-10):
修复 pg_hba_file_rules 中缺失的 ldapscheme 选项
回溯补丁 ~ 13 - 28e7a996 (2025-01-10):
postmaster:重命名一些与关闭相关的 PMState 阶段名称
- e84712c7 (2025-01-10):
postmaster:使 btmask_add() 成为可变参数
- 7e957cbb (2025-01-10):
postmaster:引入可变参数的 btmask_all_except()
- 40d4031a (2025-01-10):
postmaster:改进 postmaster 发送的信号的日志记录
- 7148cbbd (2025-01-10):
postmaster:通过包装函数更新 pmState
- cc811f92 (2025-01-10):
调整 cluster_rel() 及其子例程的签名
- 23100645 (2025-01-10):
修复 UNION 规划器数据类型问题
回溯补丁 ~ 17 - f0bf7857 (2025-01-10):
合并 pgstat_count_io_op_n() 和 pgstat_count_io_op()
- 2c14037b (2025-01-10):
重构一些与后端统计相关的代码
- 39e3bcae (2025-01-09):
修复 ALTER GROUP ... DROP USER 的错误消息。
回溯补丁 ~ 16 - bebe9040 (2025-01-09):
在 contrib transform 模块中使用 @extschema:name@ 约定。
- ebd8fc7e (2025-01-09):
简化 RewriteTable 的签名
- 69ab4465 (2025-01-09):
修复 SLRU 银行选择代码
- 970b97ee (2025-01-09):
修复 pg_basebackup 在 Windows 上的 off_t 溢出。
回溯补丁 ~ 13 - 026762da (2025-01-09):
在 Windows 上提供 64 位 ftruncate() 和 lseek()。
回溯补丁 ~ 13 - 229e7793 (2025-01-08):
修复提交 a2f17f00 中的重复 typedef。
- a2f17f00 (2025-01-08):
使用方法表控制排序规则行为。
- 4f5cef26 (2025-01-08):
将排序规则版本代码移到特定提供程序的文件中。
- 3c49d462 (2025-01-08):
不允许在存储视图、规则等中使用 NAMEDTUPLESTORE RTE。
- b20fe54c (2025-01-08):
如果 pg_bsd_indent 失败,则为 pgindent 设置退出状态
- 7b27f5fd (2025-01-08):
plpgsql:纯解析器和可重入扫描器
- e0c3d512 (2025-01-08):
pg_freespacemap:修复 pg_freespace(regclass) 的声明
- 3f482940 (2025-01-07):
ExecInitAgg:更早地更新 aggstate->numaggs 和 ->numtrans。
- 32ddfaff (2025-01-07):
nodeSetOp.c:BuildTupleHashTable() 缺少 additionsize。
4a68d500 (2025-01-07):
在 postgres.c 中使用 PqMsg_* 宏。
- f7e1b382 (2025-01-07):
添加 passwordcheck.min_password_length。
- 6d015419 (2025-01-07):
在 initdb 中根据需要降低 autovacuum_worker_slots 的默认值。
5b291d1c (2025-01-07):
删除处理 CONSTR_NOTNULL 的不必要代码
- ec986020 (2025-01-07):
改进 nbtree 不可满足的 RowCompare 检测。
- 428a99b5 (2025-01-07):
nbtree:简化 _bt_first 并行扫描处理。
- 2f8b4007 (2025-01-07):
删除 lookup_var_attr_stats 中未使用的参数
- c758119e (2025-01-06):
允许在不重启的情况下更改 autovacuum_max_workers。
- 5e68f611 (2025-01-06):
删除 proc.h 中的重复定义
- b1ef4898 (2025-01-06):
flex 代码现代化:使用 flex 选项替换 YY_EXTRA_TYPE 定义
- 3e70da27 (2024-12-20):
始终使用调用者提供的上下文处理基数树叶
- e8a6f1f9 (2024-12-20):
摆脱基数树的通用内存上下文
- 960013f2 (2024-12-21):
为基数树迭代状态使用调用者的内存上下文
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
新 PgPedia 条目
已添加以下新条目
更新
以下文章已更新,增加了额外信息或更正
pg_get_partkeydef()
- 添加了文档链接
PostgreSQL 6.3
- 注意添加了
char_length()
和character_length()
函数
- 注意添加了
外部链接
已添加了指向外部文章的链接
大对象 (Large object)
- 快速基准测试:Postgres 17 中大型对象转储的改进 - 2024 年 12 月 Michael Banck / Credativ 的博文
- PostgreSQL 中的大型对象 - 2023 年 1 月 David Zhang / HighGo 的博文
pg_stat_get_backend_io()
- Postgres 后端统计 (第一部分):I/O 统计 - 2025 年 1 月 Bertrand Drouvot 的博文
最后...
如果您觉得有遗漏,或者有任何(建设性的)想法,请留下您的反馈,并/或请我喝杯咖啡。