如何检测、清理Greenplum垃圾 - 阿里云HybridDB for PG最佳实践
标签 PostgreSQL , Greenplum , HDB for PG 背景 Greenplum通过多版本支持数据的删除和更新的并发和回滚,在删除数据时(使用DELETE删除),对记录的头部xmax值进行标记。在删除记录时,对记录的头部进行标记,同时插入新的版本。 这一就会导致一个问题,如果用户经常删除和插入或更新数据,表和索引都会膨胀。 PostgreSQL是通过HOT技术以及autovacuum来避免或减少垃圾的。但是Greenplum没有自动回收的worker进程,所以需要人为的触发。 如何查找膨胀的表或索引 Greenplum 1、首先要更新表的统计信息,因为接下来的两个视图是从统计信息来计算膨胀率的。 连接到所有目标库执行: analyze; 2、查询gp_toolkit.gp_bloat_diag,膨胀较厉害的表。 U