PgPedia周刊
每周更新,列出值得关注的提交、PostgreSQL 的其他有趣更改,以及 PgPedia 的笔记和勘误。
理论上每周日发布,但由于个人事务有时会延迟。
2024年9月8日
PostgreSQL 17 rc1 于本周发布。
在 PostgreSQL 18 的新闻中,CommitFest 第49期正在进行中。目前为止,主要面向用户的更改是向系统视图 pg_stat_subscription_stats 添加了更多字段,用于收集关于逻辑复制冲突的统计信息。
此外,还进行了一些小型但有用的性能改进,并且已移除对1.1.0之前的OpenSSL版本的支持。
有关上周值得关注的提交的完整列表,请参见下文。
发布于晚上8:49
2024年9月1日
近期值得关注的提交列表如下。
发布于晚上7:09
2024年8月25日
PostgreSQL 提交的值得关注的变更
- c14d4acb (2024-08-25):
避免在 TypeCacheRelCallback() 中循环遍历所有类型缓存条目 - 3890d90c (2024-08-24):
恢复对 ALTER TABLE ... MERGE/SPLIT PARTITION(S) 命令的支持 - ff59d5d2 (2024-08-23):
为 v17 中添加的 libpq 功能提供功能测试宏。 - a2bbc58f (2024-08-23):
线程安全:gmtime_r(), localtime_r() - 94a3373a (2024-08-23):
用注入点重构新的 SLRU 测试 - 2e35c67f (2024-08-23):
注入点:添加 injection_points.stats - b2b023aa (2024-08-23):
注入点:在加载模块时初始化共享内存状态 - a36aa223 (2024-08-22):
修复已分离的注入点的附加。 - 04158e7f (2024-08-22):
避免在 createPartitionTable() 中重复查找表名 - 490f869d (2024-08-22):
为 pg_extension 创建 syscache 条目 - 86488cdf (2024-08-21):
禁止创建涉及范围类型的二进制可强制转换。向后移植到 ~17 - c01743aa (2024-08-21):
在 EXPLAIN ANALYZE 输出中显示禁用节点的数量。 - e2225346 (2024-08-21):
将路径中禁用节点的数量视为单独的成本指标。 - 3f28b2fc (2024-08-21):
在应用失败时不要前进 origin。向后移植到 ~16 - a95ff1fe (2024-08-20):
轻微重构 varstr_sortsupport() 以提高可读性。 - 15c1abd9 (2024-08-21):
移除 _PG_fini() - 5ff9b6b4 (2024-08-20):
修复几个等待事件描述。向后移植到 ~13 - 4d93bbd4 (2024-08-20):
记录每个表的外联值数量限制 - 9758174e (2024-08-20):
记录应用逻辑复制更改时的冲突。 - adf97c15 (2024-08-20):
通过使 ExprStates 支持哈希来加速哈希连接 - 52f3de87 (2024-08-19):
避免打开已分离的分区失败向后移植到 ~14 - 0d06a7ea (2024-08-19):
文档说明 search_path 是由服务器报告的 - 28a1121f (2024-08-19):
将 search_path 标记为 GUC_REPORT - 56d23855 (2024-08-19):
修复后端崩溃时进程名称乱码 - bd06cc33 (2024-08-19):
修复 SLRU 代码在需要 int64 来表示段号方面存在的更多问题向后移植到 ~17 - 2793acec (2024-08-19):
注入点:为点缓存和加载添加统计信息 - 0f92b230 (2024-08-19):
修复具有大量 ACL 的数据库的 DROP DATABASE向后移植到 ~12
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
发布于晚上9:34
2024年8月18日
PostgreSQL 提交的值得关注的变更
- 7b063ff2 (2024-08-18):
仅在其自己的 bank 中搜索 SLRU 页 - 6be39d77 (2024-08-16):
修复从时间间隔中提取周和季度字段。 - 077ad4bd (2024-08-16):
对于未 WAL 日志记录的大批量加载结束时,放宽 fsync 检查 - 3943da46 (2024-08-16):
重构 CopyOneRowTo - 1153422e (2024-08-16):
从 IndexScanOK() 中移除未使用的 'cur_skey' 参数 - e2ed7e32 (2024-08-16):
修复备用服务器上的 GetStrictOldestNonRemovableTransactionId() - 516b8750 (2024-08-15):
在 NegotiateProtocolVersion 中不硬编码 PG_PROTOCOL_LATEST - 8dc28d7e (2024-08-15):
使用 N-BASE^2 算术优化数值乘法。 - c4e44224 (2024-08-15):
将 mul_var_short() 扩展到 5 位和 6 位输入。 - 80ffcb84 (2024-08-15):
改进 ALTER PUBLICATION 的验证和错误消息 - c8e2d422 (2024-08-14):
移除 TRACE_SORT 宏 - 4c1b4cdb (2024-08-13):
向 ANALYZE VERBOSE 添加资源统计信息报告。 - c584781b (2024-08-13):
在 analyze 中使用 pgBufferUsage 进行缓冲区使用跟踪。 - 35eeea62 (2024-08-13):
使用线程安全的 nl_langinfo_l(),而不是 nl_langinfo()。 - 14c648ff (2024-08-13):
所有 POSIX 系统都有 langinfo.h 和 CODESET。 - 93660d1c (2024-08-13):
使用 errmsg_internal 用于调试消息 - c899c683 (2024-08-12):
修复并发分离+删除时分表描述符的创建向后移植到 ~12 - 760162fe (2024-08-12):
添加用户可调用的 CRC 函数。 - 3354f852 (2024-08-12):
合并 postmaster 代码以启动后台进程 - 94980c45 (2024-08-12):
移除对旧 realpath() API 的支持 - f0d11275 (2024-08-12):
从 pg_backend_memory_contexts 中移除“parent”列 - 3f44959f (2024-08-11):
避免不必要的 nbtree 反向扫描缓冲区锁。
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
发布于晚上9:18
2024年7月28日
忙碌的一周。
发布于晚上7:50
2024年7月21日
PostgreSQL 提交的值得关注的变更
- 220003b9 (2024-07-20):
正确检查 INSERT...DEFAULT 目标列的可更新性。向后移植到 ~12 - 8720a15e (2024-07-20):
在 CREATE DATABASE 时,当 STRATEGY=WAL_LOG 时,使用读取流。 - a858be17 (2024-07-20):
添加一种通过使用 SMgrRelation 来创建读取流对象的方法。 - af07a827 (2024-07-20):
重构 PinBufferForBlock() 以移除关于持久性的检查。 - e00c45f6 (2024-07-20):
移除 "smgr_persistence == 0" 的死代码。 - 22b0ccd6 (2024-07-19):
为 money 类型添加溢出检查。向后移植到 ~12 - 83c39a1f (2024-07-19):
确保 vacuum 移除比 OldestXmin 更早的所有可见死元组向后移植到 ~14 - c145f321 (2024-07-19):
在函数中传播实用语句的查询 ID向后移植到 ~16 - cd85ae11 (2024-07-18):
改进 pg_ctl 关于恢复后关闭的消息。 - 402b586d (2024-07-18):
如果 WAL 是使用 wal_level=minimal 生成的,则不进行 WAL 摘要。 - a0a5869a (2024-07-18):
添加 INJECTION_POINT_CACHED() 以直接从缓存中运行注入点 - a99cc6c6 (2024-07-17):
在更多地方使用 PqMsg_* 宏。 - ec678692 (2024-07-17):
使 pgstats 文件的写入在关闭时具有持久性 - 4b74ebf7 (2024-07-16):
创建物化视图时,使用 REFRESH 加载数据。向后移植到 ~17 - 8e28778c (2024-07-15):
添加缺失的 RestrictSearchPath() 调用。 - 86db52a5 (2024-07-15):
在 InjectionPointRun() 中使用原子操作避免锁定 - c0868966 (2024-07-15):
修复 MERGE/SPLIT 分区命令中的表空间处理。向后移植到 ~17 - 069d0ff0 (2024-07-15):
检查 PHV 中 lateral 引用的 memoize 缓存键
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
发布于晚上7:57
2024年7月14日
CommitFest 48 正在进行中,其中有几个 PostgreSQL 18 的面向用户的特性
- 添加了预定义角色
pg_signal_autovacuum_worker - 为复合类型(记录)添加了 min 和 max 聚合支持
发布于晚上9:43
2024年7月7日
PostgreSQL 18 现已正式发布,HEAD 分支已被标记为 18devel。第一个针对未来发布版本的CommitFest(第48期)现已开始,并且已经进行了许多面向用户的更改,包括:
- 新函数
pg_get_acl() - 向
pg_backend_memory_contexts添加了type字段 EXPLAIN:为Material节点添加了内存和磁盘使用信息
对于关注这些事情的人来说,有轻微的历史意义的是 1c417311,它将一个小的 Perl 更改向后移植到了 PostgreSQL 9.2

发布于下午4:27
