PgPedia 周报, 2025-03-30
本周(确切说是上周,由于个人原因,本期 PgPedia 周刊不幸延迟发布)有很多事情发生,因为 CommitFest 52(2025-03)—— PostgreSQL 18 开发周期的最后一个 CommitFest——即将结束。尽管通常会一直持续到 4 月 8 日的代码冻结。
PostgreSQL 18 更改
新特性
- 可动态加载的共享库可提供用户可查询的元数据
- 支持在虚拟 生成列 上添加
NOT NULL约束 - 新增冲突类型
multiple_unique_conflicts gamma()、lgamma()- 新增数学函数
pg_get_loaded_modules()- 报告有关已加载模块的信息
max_files_per_process- 现在控制额外打开的文件
pg_recvlogical- 选项
--drop-slot不再需要提供--dbname
- 选项
initdb- 新增选项
--no-sync-data-files
- 新增选项
psql\dx现在显示默认扩展版本\watch的默认间隔现在可配置
pg_createsubscriber- 新增选项
--all
- 新增选项
pg_dump- 新增选项
--sequence-data - 新增选项
--with-data/--with-schema/--with-statistics
- 新增选项
pg_upgrade- 新增选项
--swap
- 新增选项
amcheck- 新增函数
gin_index_check()
- 新增函数
dblink- SCRAM 认证直通
pg_overexplain- contrib 模块,用于扩展
EXPLAIN输出
- contrib 模块,用于扩展
回滚
PostgreSQL 链接
博客、播客、新闻通讯等
- Scaling Postgres 359 - Trillions of Rows & Metrics(2025-03-30)—— 对近期 PostgreSQL 文章等的视频回顾,时长约 18 分钟
- 2025-03-10 这一周(第 10 周)的贡献 (2025-03-27)
- Postgres Weekly Issue 594 (2025-03-27)
公告
- Autobase 2.2.0 发布 (2025-03-27)
- powa-collector 1.3.1 发布! (2025-03-25)
- 宣布 E-Maj 4.6.0 发布。 (2025-03-24)
- E-Maj 是一个 扩展,支持对数据库子集的精细化写入日志记录和时间旅行
其他
- PostgreSQL 本周人物:Shruthi K C (2025-03-24)
新 PgPedia 条目
已添加以下新条目
PostgreSQL 提交的值得关注的变更
- d6d8054d(2025-03-29):
localbuf: 也在 BufferDesc 中跟踪 pincount - 08ccd56a(2025-03-29):
aio, bufmgr: 注释修复/改进 - 50cb7505(2025-03-29):
aio: 实现 smgr/md/fd 中的读取支持 - dee80024(2025-03-29):
修复将校验和失败统计信息错误归因于错误的数据库 - 14ffaece(2025-03-29):
amcheck: 添加 gin_index_check() 来验证 GIN 索引 - 53a2a156(2025-03-29):
pgbench: 使 set_random_seed() 在所有地方都成为 64 位。 - 8b6a0e23(2025-03-29):
修复 MERGE 和 DO NOTHING 操作到分区表。向后移植约 15 - a0ed19e0(2025-03-29):
在格式字符串中使用 PRI?64 而不是 "ll?"(续)。 - a0a46017(2025-03-28):
物化视图统计信息依赖于物化视图数据。 - 775a06d4(2025-03-28):
使 group_similar_or_args() 尽可能少地重新排序子句列表 - 519338ac(2025-03-28):
使用 ARM SVE 内建函数优化 popcount 函数。 - 3c8e463b(2025-03-28):
撤销 "Tidy up locale thread safety in ECPG library." - 6be53c27(2025-03-28):
使用 ARM Neon 内建函数优化 popcount 函数。 - 51a0382e(2025-03-28):
修复 LockErrorCleanup() 被调用两次时的崩溃 - 9ac6f7e7(2025-03-28):
重命名 TRY_POPCNT_FAST 为 TRY_POPCNT_X86_64。 - a5419bc7(2025-03-28):
修复 UUIDv7 实现中的时间戳溢出。 - 8e993bff(2025-03-28):
Tidy up locale thread safety in ECPG library. - 83ccc858(2025-03-28):
pg_overexplain 使用 PG_MODULE_MAGIC_EXT。 - 9f0c36ae(2025-03-28):
pg_overexplain: 适当地调用之前的钩子。 - cdc168ad(2025-03-28):
添加对虚拟 生成列 的 not-null 约束的支持 - 747ddd38(2025-03-28):
现代化一些代码 - 9a9ead11(2025-03-28):
重命名节点字段以提高清晰度 - fb2ea12f(2025-03-28):
pg_createsubscriber: 添加 '--all' 选项。 - 890fc826(2025-03-28):
使用线程安全的 strftime_l() 而不是 strftime()。 - 058b5152(2025-03-27):
修复 GUC malloc 调用以保持一致性并进行 OOM 检查向后移植约 16 - 043799fa(2025-03-27):
在 heap amcheck 中使用流式读取 I/O - 4623d714(2025-03-27):
防止 contrib/[pg_freespacemap|]]. 中的断言失败。向后移植约 13 - 9fbd53de(2025-03-27):
移除 GUC query_id_squash_values - b98be8a2(2025-03-27):
提供线程安全的 pg_localeconv_r()。 - 4a02af8b(2025-03-27):
简化 ALTER TABLE ALTER CONSTRAINT NO INHERIT 的语法 - ad9a23bc(2025-03-27):
优化查询混乱 - f31aad9b(2025-03-27):
修复查询混乱以考虑 NULL 节点 - c325a763(2025-03-18):
aio: 添加 io_method=io_uring - 8eadd5c7(2025-03-18):
aio: 添加 liburing 依赖 - 9469d7fd(2025-03-26):
aio: 将 pgaio_io_prep_* 重命名为 pgaio_io_start_* - f321ec23(2025-03-26):
aio: 将本地回调的结果传递给 ->report_return - 96da9050(2025-03-26):
aio: 对中断更加警惕 - 8d5ceb11(2025-03-26):
pg_overexplain: 用于调试的其他 EXPLAIN 选项。 - 81824550(2025-03-26):
在 brin_bloom_union 中保留解压缩的过滤器向后移植约 14 - 55527368(2025-03-26):
在可安装的共享库中使用 PG_MODULE_MAGIC_EXT。 - 9324c8c5(2025-03-26):
引入 PG_MODULE_MAGIC_EXT 宏。 - 3642df26(2025-03-26):
dblink: SCRAM 身份验证直通 - a3b6dfd4(2025-03-26):
添加对 gamma() 和 lgamma() 函数的支持。 - 7c82b4f7(2025-03-26):
修复 scram_SaltedPassword() 中的整数溢出问题向后移植约 16 - 787514b3(2025-03-26):
在 RangeTblEntry 的查询混乱中使用关系名称而不是 OID - bde2fb79(2025-03-25):
添加 pg_dump --with-{schema|data|statistics} 选项。 - 626d7236(2025-03-25):
pg_upgrade: 添加 --swap 以加快文件传输。 - 9c49f0e8(2025-03-25):
pg_dump: 添加 --sequence-data。 - cf131fa9(2025-03-25):
initdb: 添加 --no-sync-data-files。 - 650ab8aa(2025-03-25):
Stats: 使用 schemaname/relname 而不是 regclass。 - 1a759c83(2025-03-25):
psql: 使默认的 \watch 间隔可配置 - ef7a5af7(2025-03-25):
重构: 将关系 OID 而不是 Relation 传递给 createForeignKeyCheckTriggers() - 639238b9(2025-03-25):
重构: 分割 ATExecAlterConstraintInternal() - a3280e2a(2025-03-25):
重构: 将一些更新 pg_constraint 的代码移到一个单独的函数 - f4b2a62a(2025-03-25):
为 Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERIT 进行的小修复 - 62f36d69(2025-03-25):
postgres_fdw: 在 semijoin_target_ok() 中移除冗余检查向后移植约 17 - 3c86223c(2025-03-25):
libpq: 弃用 pg_int64。 - be1cc9aa(2025-03-25):
泛化网络支持函数中的索引支持 - 5ac462e2(2025-03-25):
添加对 custom_query_jumble 作为节点字段属性的支持 - 626df47a(2025-03-24):
从 TupleHashEntryData 中移除 'additional' 指针。 - a0942f44(2025-03-24):
添加 ExecCopySlotMinimalTupleExtra()。 - 4d143509(2025-03-24):
创建 TupleHashEntry 的访问器函数。 - cc721c45(2025-03-24):
HashAgg: 为 hash TupleHashTable 条目使用 Bump 分配器。 - 023fb512(2025-03-25):
postgres_fdw: 避免从子查询中上提 restrict infos向后移植约 17 - adb5f85f(2025-03-24):
将 max_files_per_process 定义为控制额外打开的文件 - aea916fe(2025-03-24):
修复 bitmapheapscan 对 NULL 元组的错误重检查 - c68100aa(2025-03-25):
允许 pg_recvlogical 的 --drop-slot 在没有 --dbname 的情况下工作。 - 76563f88(2025-03-24):
postgres_fdw: 改进安全检查 - d696406a(2025-03-24):
psql: 在 \dx 输出中显示默认扩展版本 - 73eba500(2025-03-24):
检测并记录 multiple_unique_conflicts 类型冲突。 - 2a0cd38d(2025-03-24):
允许插件在 PlannedStmt 中设置 64 位计划标识符
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
最后...
如果有什么遗漏,或者您有一些(建设性的)想法,请留下您的 反馈 和/或 买杯咖啡。
