PostgreSQL 19引入了内置的REPACK CONCURRENTLY功能,可实现在线表膨胀清理而无需第三方扩展。与需要停机时间的VACUUM FULL或存在风险的pg_repack等工具不同,该原生功能在保持表完全可读可写的同时进行空间回收,仅在最后阶段加短暂锁。
背景
PostgreSQL的MVCC设计会导致表膨胀,更新和删除产生的死元组不断累积。数据库管理员长期以来依赖VACUUM FULL(需停机)、pg_repack或pg_squeeze来回收空间。
- 来源
- Lobsters
- 发布时间
- 2026年11月4日 06:44
- 评分
- 8.0 / 10