PgPedia 周报,2023-06-25
PostgreSQL 16 Beta 2 预计将于本周四,也就是 6 月 29 日发布(预告)。修复了一小部分 Bug,其中一些已经向后移植(请参阅下文的 PostgreSQL 提交的重点内容)。
一项历史性更新是 PostgreSQL 历史页面的更新,有人指出“在二十多年的开发之后”这句话实际上已经变成了“三十年”;这个修正已经完成(提交 05ffc1fa),之后又修改为更具前瞻性的“数十年”(提交 239fd118)。
展望未来,关于如何让 PostgreSQL 实现多线程的讨论非常活跃且富有信息量,主题为“让我们让 PostgreSQL 多线程化”。尽管这不太可能是 PostgreSQL 17 的特性,但 lwn.net 上有一个有用的讨论总结:“PostgreSQL 重新审视其基于进程的模型”。
本周 PostgreSQL 提交的重点内容
- 691594ac (2023-06-23):
在 TParserGet() 中检查中断和堆栈溢出。已向后移植 - 4dbdb825 (2023-06-22):
修复由 ff9618e8 引入的缓存查找危险。 - 5f0762f1 (2023-06-21):
nbtree VACUUM: 处理顶层父节点不一致。 - f3a01af2 (2023-06-21):
ICU: 不将 locale 'C' 转换为 'en-US-u-va-posix'。 - 2535c74b (2023-06-21):
initdb: 将默认 --locale-provider 改回 libc。 - 555b929b (2023-06-21):
避免在已中止事务中处理空语句时出现 Assert 失败。已向后移植 - 45392626 (2023-06-20):
修复哈希连接中内部哈希键表达式包含 Param 的情况。已向后移植 - 3af87736 (2023-06-20):
修复“错误的 varnullingrels”规划器失败的另一个原因。 - efeb12ef (2023-06-20):
不在 lateral_relids 的位图集中包含外连接 relids。 - 0655c03e (2023-06-20):
集中处理嵌套循环参数中不匹配的 nullingrels 的修复。 - 0d369ac6 (2023-06-19):
fd.c: 在更多地方重试 EINTR 后。 - 8f2ec8cc (2023-06-19):
在规划器中不要为唯一证明使用部分唯一索引。已向后移植
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
新 PgPedia 条目
已添加以下新条目
abs()acos()acosd()asin()asind()atan()atand()cbrt()ceil()ceiling()div()exp()floor()ln()log()log10()mod()round()sign()sqrt()trunc()vacuum_buffer_usage_limitwidth_bucket()
更新
以下文章已更新,增加了额外信息或更正
allow_in_place_tablespaces- 向 PostgreSQL 10 ~ PostgreSQL 14 的回溯已注明。
此外,所有 GUC 条目都已更新,包含每个 GUC 的 pg_settings 详细信息,涵盖所有 PostgreSQL 版本(从 PostgreSQL 8.2 起),并包含指向每个版本文档的链接。这有望在处理不同版本之间属性发生变化的 GUC 时,使工作更轻松。
外部链接
已添加了指向外部文章的链接
COPY
- PostgreSQL Copy - Shivayan Mukherjee / SQL Server Central 于 2023 年 6 月发布的博客文章。
最后...
如果有什么遗漏,或者您想让我们知道您的(建设性的)想法,请留下您的 反馈 和/或 请我们喝杯咖啡(我们不缺钱,但它能让我们开心)。
发表评论
