PostgreSQL 11中pg_repack是否支持物化视图?
pg_repack对物化视图的支持情况
pg_repack不支持清理物化视图的膨胀。
它的核心设计是针对PostgreSQL普通表和索引的膨胀问题,通过在线重建表、移动数据、重建索引的方式回收空间,这套逻辑并没有适配物化视图的结构和刷新机制——物化视图本质是预计算的结果集,其数据更新依赖于刷新操作,而非像普通表那样的行级增删改。
如果需要清理物化视图的膨胀,常用方案:
- 执行
REFRESH MATERIALIZED VIEW your_matview;,刷新操作会重建物化视图的数据,自然消除膨胀 - 若物化视图数据量较大,不想阻塞查询,可以用
REFRESH MATERIALIZED VIEW CONCURRENTLY your_matview;(前提是给物化视图创建了唯一索引) - 也可以手动删除并重建物化视图,但需注意操作期间的锁情况和数据可用性
内容的提问来源于stack exchange,提问作者nmakb
相关产品推荐
相关产品推荐

