PgPedia 周刊,2024-03-03
CommitFest 第 47 期,是 PostgreSQL 17 版本发布周期中的最后一期,正在蓄势待发,包含一些对用户可见的功能,以及一些有趣的内部更改和一些错误修复。
PostgreSQL 17 本周的更改
用户可见的更改
- 添加了对可更新视图的
MERGE
支持 - 视图
pg_stat_slru
中的 SLRU 缓存名称已更改
后端
- 引入具有完整屏障语义的原子读写函数。
- 引入 sequence_*() 访问函数
- 为具有字符串键的 dshash 表添加辅助函数。
- 调整内存分配函数以允许同级调用
- 将 BackendIds 替换为基于 0 的 ProcNumbers
其他
- 删除 AIX 支持
- 自 PostgreSQL 项目开始以来一直存在的 AIX 平台支持最终被放弃了。
PostgreSQL 值得关注的提交
- 024c5211 (2024-03-03):
将 BackendIds 替换为基于 0 的 ProcNumbers
- ab355e3a (2024-03-03):
重新定义后端 ID 为 proc 数组中的索引
- 653b55b5 (2024-03-02):
在 fd.c I/O 函数中返回 ssize_t。
- 655dc310 (2024-03-01):
使用 C99 指定初始化语法简化 pg_enc2gettext_tbl[]
- 963d3072 (2024-02-29):
将 unloggedLSN 转换为原子变量。
- 31797015 (2024-02-29):
将存档程序的 force_dir_scan 变量转换为原子变量。
- bd5132db (2024-02-29):
引入具有完整屏障语义的原子读写函数。
- 5f2e179b (2024-02-29):
支持对可更新视图进行 MERGE。
- 8b29a119 (2024-02-29):
将缺少的 RangeTblEntry 字段添加到 jumble
- 362de947 (2024-02-29):
删除 nodeModifyTable.c 中的字段 UpdateContext->updated
- 6fd144e3 (2024-02-29):
修复共享内存调试中的整数下溢
回退 ~ 12 - ada87a4d (2024-02-29):
对与编码相关的数组使用 C99 指定初始化语法
- 2a6b47cb (2024-02-28):
改进 plpgsql 对不正确的 %TYPE 和 %ROWTYPE 的错误消息。
- d163fdbf (2024-02-28):
修复 date_bin() 中的舍入错误和溢出风险。
回退 ~ 14 - 53c2a97a (2024-02-28):
提高基于 SLRU 的子系统的性能
- 1c1eec0f (2024-02-28):
删除配置 --with-CC 选项
- 0b16bb87 (2024-02-28):
删除 AIX 支持
- bcdfa5f2 (2024-02-28):
重命名视图 pg_stat_slru 中的 SLRU 元素
- 48920476 (2024-02-28):
删除 config_group_names[] 中最后一个 NULL 元素
- 413c1840 (2024-02-28):
重构 AllocSetAlloc(),分离热路径和冷路径
- afd8ef39 (2024-02-28):
对更多数组使用 C99 指定初始化语法
- 92d2ab75 (2024-02-27):
使某些 jsonpath 项的错误消息更合理并得到改进
- 743112a2 (2024-02-27):
调整内存分配函数以允许同级调用
- 42a1de30 (2024-02-26):
为具有字符串键的 dshash 表添加辅助函数。
- 5fe08c00 (2024-02-26):
在 dshash_create() 调用中使用 NULL 代替 0 作为“arg”参数。
- 5f79cb76 (2024-02-26):
slru.c:减少“for”块中变量的作用域
- 6e951bf9 (2024-02-26):
在 src/backend/commands/sequence.c 中更紧密地对后端的缓存更新进行分组
- 449e798c (2024-02-26):
引入 sequence_*() 访问函数
请注意,提交按其在提交日志中出现的顺序显示,这可能不反映各个提交的创建时间。
请参阅 PostgreSQL GIT 提交日志 以获取完整的提交列表。
新的 PgPedia 条目
本周没有添加新的条目。
更新
以下文章已更新,其中包含其他信息或更正
default_with_oids
- 添加到 PostgreSQL 8.1 中,而不是 PostgreSQL 8.0 中
最后...
如果缺少任何内容,或者您有一些(建设性的)想法,请留下一些 反馈 和/或 请我喝杯咖啡。
发表评论