PgPedia 周报,2024-04-14

随着 CommitFest 47 的结束,PostgreSQL 17功能冻结 已正式生效,现在将重点放在测试和确保一切正常工作上。新功能提案应提交给 PostgreSQL 18,尽管距离创建 REL_17_STABLE 分支以及 PostgreSQL 18 正式诞生还有几个月的时间。

PostgreSQL 17 本周的变更

正如 上周提到 的那样,在 CommitFest 47 结束时有大量的提交 - Peter Eisentraut 进行了统计:PostgreSQL 17 commitfest 结论,这些提交确实创下了历史新高。一些已提交的功能在 pgsql-hackers 邮件列表的讨论后被撤销,具体包括:

不那么严肃地说

提交 b1b13d2b (Doc: use "an SQL" instead of "a SQL") 是一个有用的提醒,即“官方”立场是它发音为“Ess-Cue-Ell”,而不是“Sequel”,正如在 2021 年的提交 04539e73 中已经确立的那样。这是我愿意坚守的立场,毕竟没有人说“PostgreSequel”(或者他们真的这么说?)。

PostgreSQL 提交的值得关注的变更

  • cd4b6af6 (2024-04-14): 修复增量备份中不必要的填充
  • 8225c2fd (2024-04-14): 为 BRIN 并行构建添加回归测试
  • bb616ed3 (2024-04-14): 在 BRIN 中使用正确的 PG_DETOAST_DATUM 宏
  • 2f20ced1 (2024-04-14): 更新 brin_bloom_union 中的 nbits_set
  • 93582974 (2024-04-13): freespace: 不返回主分支末尾块之后的块。
  • 4cc1c76f (2024-04-12): 记录 PG_TEST_EXTRA=libpq_encryption 并检查 'kerberos'
  • 084cae55 (2024-04-12): 修复使用 --with-gssapi --without-openssl 进行编译
  • 929c0577 (2024-04-12): pg_verifybackup 中避免在栈上分配大缓冲区
  • 42fa4b66 (2024-04-09): 对 test_json_parser 模块进行各种小的清理
  • daf554db (2024-04-09): 为 test_json_parser_perf 添加 TAP 测试
  • 661ab4e1 (2024-04-09): 修复解析 json 和 manifest 时的一些内存泄漏
  • 3741f2a0 (2024-04-12): 修复审阅意见和 slot sync 代码中的一个 bug。
  • 3af70409 (2024-04-12): 修复继承表 IS [NOT] NULL 条件优化
  • 772faafc (2024-04-11): Revert: 实现 pg_wal_replay_wait() 存储过程
  • 922c4c46 (2024-04-11): Revert: 允许表 AM 在 rd_amcache 中存储复杂数据结构
  • 8dd0bb84 (2024-04-11): Revert: 允许表 AM 的 tuple_insert() 方法返回不同的 slot
  • 193e6d18 (2024-04-11): Revert: 允许在 tuple_update() 和 tuple_delete() 中锁定更新的元组
  • da841aa4 (2024-04-11): Revert: 让表 AM 的插入方法控制索引插入
  • bc1e2092 (2024-04-11): Revert: 表 AM 的自定义 reloptions
  • 8f136af3 (2024-04-11): slot.c 中为 xmin 变量使用正确的数据类型
  • 810f64a0 (2024-04-11): Revert 索引和可扩展的二叉堆实现。
  • efb8acc0 (2024-04-11): reorderbuffer.c 中用 pairingheap 替换 binaryheap + index
  • d8f5acbd (2024-04-11): 修复增量备份中潜在的栈溢出。
  • f56a9def (2024-04-11): 修复 clean buffers 的 hash squeeze 记录重放不一致问题
  • 5392dd3d (2024-04-10): 修复 plpgsql 对表达式后跟 -- 注释的处理。 回溯补丁 ~ 12
  • 53c8d6c9 (2024-04-10): 修复 LLVM JIT 中的非法属性传播。 回溯补丁 ~ 12
  • 8461424f (2024-04-10): 修复各种 StringInfo 函数用法
  • ff9f72c6 (2024-04-10): revert: 将 OR 子句转换为 ANY 表达式
  • c99ef181 (2024-04-10): 检查 ALTER TABLE ... SPLIT/MERGE PARTITIONS ... 命令
  • b1b13d2b (2024-04-10): Doc: use "an SQL" instead of "a SQL"
  • deca6ac1 (2024-04-09): pg_walsummarypg_combinebackup 添加缺失的 set_pglocale_pgservice()
  • f463de59 (2024-04-08): psql 中,避免在查询被取消后泄露 PGresult。 回溯补丁 ~ 15
  • 0fe5f643 (2024-04-08): 让基数树在运行时嵌入值
  • f35bd9bf (2024-04-08): 让 TID 存储为少量偏移量跳过位图
  • dd1f6b0c (2024-04-08): 提供一种块级表 AM 重用 acquire_sample_rows() 的方法
  • 42204154 (2024-04-08): 在 extract_autovac_opts() 中用默认值填充 CommonRdOptions

请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。

请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。

新 PgPedia 条目

已添加以下新条目

更新

以下文章已更新,增加了额外信息或更正

已添加了指向外部文章的链接

最后...

如果有什么遗漏,或者您有任何(建设性的)想法,请留下一些 反馈 和/或 请我喝杯咖啡