系统运维系列 之greenplum vacuum清理删除数据命令

Posted 琅晓琳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统运维系列 之greenplum vacuum清理删除数据命令相关的知识,希望对你有一定的参考价值。

1 PostgreSQL清理表膨胀之vacuum

PostgreSQL的表膨胀清理就需要依赖vacuum,vacuum的主要任务就是清理表和索引中不需要的数据(dead tuples),为新加入的数据清理出来空间。		      
vacuum完成清理工作后,那些空间并没有真正被释放给操作系统,只能被vacuum清理过的表和索引所利用。

2 PostgreSQL清理表膨胀之vacuum full

Vacuum Full和Vacuum最大的不同就是,Vacuum Full是物理删除dead tuples,并把释放的空间重新交给操作系统,所以在vacuum full后,表的大小会减小为实际的空间大小。
在执行过程中,它会block所有对表的访问,不只是写操作,读操作也会全部block。很多情况下这是不可接受的,尤其是生产环境。

3 命令格式

VACUUM [( FULL | FREEZE | VERBOSE | ANALYZE  [, ...])] [table [(column [, ...] )]]

--清理删除的数据
VACUUM
--清理删除的数据并释放存储空间
VACUUM FULL
--为查询分析器更新统计数据
ANALYZE

全库执行(特别慢,建议分表执行)
VACUUM;
VACUUM ANALYZE;
分表执行
VACUUM ANALYZE table1;

参考资料:
https://wanghq.blog.csdn.net/article/details/106209843?spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-11-106209843-blog-89403706.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-11-106209843-blog-89403706.pc_relevant_paycolumn_v3&utm_relevant_index=17 greenplum vacuum清理删除数据命令
https://www.cnblogs.com/mingfan/p/15795684.html PostgreSQL的表膨胀与Vacuum和Vacuum Full

以上是关于系统运维系列 之greenplum vacuum清理删除数据命令的主要内容,如果未能解决你的问题,请参考以下文章

系统运维系列 之greenplum常用的toolkit和catalog监控语句

系统运维系列 之异常抛出后代码执行问题(java应用)

saltstack自动化运维系列②之saltstack的数据系统

系统运维系列 之MySQL部分学习整理2

系统运维系列 之Clickhouse数据类型整理

系统运维系列 之Clickhouse数据类型整理