🔔 关注【IvorySQL开源数据库社区】公众号即可获取 PostgreSQL 一手干货与最新动态
⚙️ PostgreSQL技术文章
🧩 防止表膨胀的无声蔓延
PostgreSQL 高频数据摄取会通过 MVCC 的死元组积累造成表膨胀。当执行更新或删除操作时,PostgreSQL 不会立即移除旧行版本,而是将其标记为过期,在数据页中形成占用空间的死元组。在连续摄取负载下,死元组积累速度超过 autovacuum 回收空间的速度,导致碎片化和性能下降。默认的 autovacuum 设置仅在 20% 的行发生变化后才触发清理,这意味着大表可能积累数百万个死元组。文章提供了测量膨胀率的查询语句,并建议调优 autovacuum 参数,特别是将超过 1 亿行的高容量表的 autovacuum_vacuum_scale_factor 降低到 0.01-0.02 以实现频繁清理。
www.tigerdata.com/blog/preven…
📨 PostgreSQL Hacker 电子邮件讨论精选
🧩 REPACK [并发] 的使用和注意事项
讨论围绕在PostgreSQL中实现并发REPACK功能展开。Amit Kapila提出了一个解决锁升级死锁的方案:释放ShareUpdateExclusiveLock,设置标志位(rel_in_use_by_repack),然后重新获取AccessExclusiveLock。这样可以通过CheckTableNotInUse()检查阻止DDL操作,同时允许DML继续执行。Mihail Nikalayeu支持这种方案,并建议扩展到阻止VACUUM操作以避免资源浪费。 但是,Andres Freund强烈反对这种方法,认为它不能可靠工作,因为许多锁获取路径不会经过CheckTableNotInUse(),而且这种方案会对LOCK TABLE等合法操作造成不必要的错误。他主张正确地让死锁检测器理解锁升级,而不是实施变通方案。Antonin Houska担心VACUUM干扰问题,建议考虑操作应该报错还是等待。争论在基于标志位的阻塞机制与改进锁升级的死锁检测系统之间持续进行。
www.postgresql.org/message-id/…
🧩 实现 WAL LSN 重放等待机制:重装版本
Alexander Korotkov 已经整理了"WAIT FOR LSN"功能实现的待处理补丁集。该补丁集包含五个部分:为 GetWalRcvWriteRecPtr() 添加内存屏障、修复唤醒机制中的内存排序问题,以及解决在纯归档恢复期间等待'standby_write'模式的后端可能永远休眠的问题。Andres Freund 提供了反馈建议,建议使用 pg_atomic_read_membarrier_u64() 和 pg_atomic_write_membarrier_u64() 来获得更好的内存排序语义,而不是手动内存屏障。他还建议针对时间线边界跨越、偏差错误以及提交 29e7dbf5e4d 修复的特定错误等场景进行更多测试。这些补丁正在添加到 Commitfest 中进行 CI 测试和进一步审查。
www.postgresql.org/message-id/…
🧩 通过 max_log_size 限制日志大小
Fujii Masao 审查了 Jim Jones 的补丁,该补丁实现了通过 max_log_size 参数截断日志语句的功能。这个补丁引入了新参数 log_statement_max_length 来限制记录的 SQL 语句长度。Fujii 提出了几点反馈意见:删除不必要的 log_statement 配置(因为默认已设置)、通过使用 SET 命令而非配置文件重载来简化测试方法,以及将 elog.c 中的 truncate_query_log() 函数重新定位到更合适的语义位置,即 check_log_of_query() 和 get_backend_type_for_log() 函数之间。Jim Jones 对所有建议都给予了积极回应,实现了所请求的修改,包括删除冗余配置、用 SET 语句替换 append/reload 操作以简化测试,以及将函数移至建议位置。Fujii 表示计划在 PostgreSQL v20 开发开始后提交此补丁,因为它已被移至 PG20-1 CommitFest。
www.postgresql.org/message-id/…
🌐 社交媒体动态
🧩 CYBERTEC任命Peter Hofer为首席产品官
CYBERTEC正式宣布任命Peter Hofer为新任首席产品官。参加近期KubeCon或伦敦TechShow活动的人员可能已经与他有过接触。该公司表示,Hofer的专业能力已经产生了显著影响,他们很幸运能够邀请到他担任这一领导职务。
🧩 在2026年数据与AI峰会上通过实操培训和认证提升数据与AI技能
2026年数据与AI峰会为参会者提供实操培训和认证机会,助力提升实用的数据与AI技能。活动包含20多门由讲师指导的课程,配备基于Databricks平台的实验环境,涵盖AI、数据工程、湖仓一体、应用开发、分析和治理等主题。参会者可现场参加认证考试。4月30日前报名可享受半天培训课程五折优惠。
🧩 lcebergv3在统一数据层的开放表格式方面迈出重要一步
Iceberg v3在开放表格式的数据层统一方面取得了重大进展。该版本目前在Databricks平台处于公开预览阶段,提供了高性能增量数据处理能力、对半结构化数据的原生支持,以及跨引擎和格式间的无缝互操作性,且不会影响性能表现。Databricks还积极参与Iceberg v4的开发工作,致力于改进元数据层,使开放数据架构变得更简单、更具扩展性和更统一。
🔥 HOW 2026 报名进行中
一场真正以技术为核心的 PostgreSQL 大会 HOW 2026 PostgreSQL & IvorySQL 技术峰会火热报名中 📍 2026 年 4 月 27 日 - 28 日|济南