🔔 关注【IvorySQL开源数据库社区】公众号即可获取 PostgreSQL 一手干货与最新动态

📨 PostgreSQL Hacker 电子邮件讨论精选
🧩 REPACK [CONCURRENTLY] 选项的实现与应用
讨论重点关注为REPACK功能实现数据库特定的逻辑复制优化。Antonin Houska建议在OutputPluginOptions中添加标志位,而非使用全局变量来指示解码过程中是否需要共享目录。Alvaro Herrera接受了这个方案,但对具体的代码修改表示担忧,特别是在使用数据库特定事务信息时防止xmin后退的xmin处理修改。这些变更涉及通过LogStandbySnapshot()发出额外的WAL消息,并在SnapBuildProcessRunningXacts()中进行特殊处理。Alvaro要求添加更详细的注释来说明这种方法的副作用和安全性考虑。他还发布了REPACK基础补丁的v55版本,称其几乎可以提交,只需进行一些美化调整,包括对reform_tuple()的性能改进和worker关闭回调的清理。
www.postgresql.org/message-id/...
🧩 实现等待 WAL LSN 回放的重新设计
Alexander Korotkov宣布计划在v19功能冻结前推送三个WAL LSN重放等待功能的小补丁。第一个补丁避免在WaitStmtResultDesc()中进行syscache查找并移除冗余注释。第二个修改wait_for_catchup()以使用WAIT FOR LSN,在not_in_recovery结果时回退到轮询,避免单独的pg_is_in_recovery()查询,并解释恢复冲突处理机制。第三个在文档中添加关于可能的恢复冲突及其原因的说明。这些更改基于Xuneng Zhou之前的修复,该修复根据Heikki的建议重新定位了PerformWalRecovery中的WaitLSNWakeup调用,以防止恢复操作期间错过唤醒信号。Korotkov计划在周一推送,除非有异议。
www.postgresql.org/message-id/...
🧩 共享数据结构的更好管理方案和可调整大小的实现
Heikki Linnakangas 正在主导 PostgreSQL 共享内存分配系统的全面重构,补丁涵盖了改进的管理 API 和对可调整大小共享结构的支持。讨论涉及 Matthias van de Meent 的详细代码审查和 Ashutosh Bapat 的贡献。主要反馈包括对 ShmemStructDesc 必要性的担忧、pgindent 的格式问题,以及 LwLock 分配请求的顺序问题。Ashutosh 添加了使用 madvise() API 的可调整大小共享内存功能,仅限于使用基于 mmap 共享内存的 Linux 系统。最近讨论集中在 API 设计选择上,特别是使用编译时标志如 HAVE_RESIZABLE_SHMEM 还是运行时检查,以及 pg_shmem_allocations 中大小跟踪的细节。最新的 v12 补丁解决了大部分反馈,Heikki 整合了回调参数并表示设计已趋于稳定。
www.postgresql.org/message-id/...
🧩 减少 xl_heap_visible 记录以降低 WAL 开销(后续可考虑实现访问时设置 VM)
PostgreSQL回归测试中发现了与xl_heap_visible消除补丁(提交378a21618)相关的测试失败。使用CFLAGS="-DRELCACHE_FORCE_RELEASE"和io_method=sync运行时,temp测试失败并出现"ERROR: no empty local buffer available"错误。Melanie Plageman解释说这是因为访问时剪枝需要为可见性映射额外固定一个缓冲区,而读取流已经消耗了大部分后端本地固定限制。查询需要固定至少两个缓冲区,但只剩一个可用。Andres Freund建议修改GetLocalPinLimit()返回更小的值,比如num_temp_buffers/4而不是全部数量,因为可能同时运行多个扫描,目标是防止不成比例的固定而非保证每次扫描的特定固定可用性。
www.postgresql.org/message-id/...
🌐 社交媒体动态
🧩 Genie Code 是您的自主AI数据工作伙伴
Genie Code 是一个专为数据工作设计的自主AI助手,能够构建数据管道、调试问题并维护生产系统。它通过主动监控后台的数据管道和模型来运行。该系统集成了 Unity Catalog 和 Lakehouse Federation,能够理解企业的数据环境和治理要求。
www.linkedin.com/posts/datab...
🔥 HOW 2026 报名进行中
一场真正以技术为核心的 PostgreSQL 大会 HOW 2026 PostgreSQL & IvorySQL 技术峰会火热报名中 📍 2026 年 4 月 27 日 - 28 日|济南
