vacuum full t1;

【测试方法】

insert into t1 select generate_series(1,227);
postgres=# insert into t1 select generate_series(1,227); INSERT 0 227
文件16KB postgres=# select pg_relation_filepath('t1'); pg_relation_filepath ---------------------- base/12418/49176 (1 row)
delete from t1;
vacuum FULL t1;

postgres=# select pg_relation_filepath ('t1');
base/12418/49182
重新生成文件,文件0KB

【代码流程】

 

 

 vacuum full t1;

 

 

 函数入口rebuild_relation

1)make_new_heap创建临时表

2)copy_heap_data

3)finsh_heap_swap

3.1)swap_relation_files

3.2)reindex_relation

3.3)performDeletion

3.4)RelationMapRemoveMapping

【调用栈】 

vacuum full t1;

【参考】

https://zhuanlan.zhihu.com/p/367684089

上一篇:mysql备份小纪1


下一篇:龙邱 MPU9250 模块接口