其他分享
首页 > 其他分享> > vacuum full t1;

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

【代码流程】

 

 

 

 

 

 函数入口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

【调用栈】 

【参考】

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

标签:full,postgres,filepath,t1,relation,pg,vacuum,select
来源: https://www.cnblogs.com/jiangshifu/p/15314014.html