VACUUM FULL一张表后,表文件大小无变化

    假定该表的名称为table_name,对于该现象可能有以下两种原因:

    • table_name表本身没有delete过数据,使用VACUUM FULL table_name后无需清理delete的数据。因此表大小清理前后一样大。

    对于第二种可能原因,有如下两种处理方法:

    • 使用该SQL可以查询当前的事务XID。再使用以下命令查看活跃事务列表:

      如果发现活跃事务列表中有XID比当前的事务XID小时,停止数据库再启动数据库,再次使用VACUUM FULL命令对该表进行清理。