文档首页/ 数据仓库服务 GaussDB(DWS)/ 常见问题/ 集群管理/ 如何清理与回收GaussDB(DWS)存储空间?
更新时间:2024-10-08 GMT+08:00

如何清理与回收GaussDB(DWS)存储空间?

GaussDB(DWS)数据仓库中保存的数据在删除后,可能没有释放占用的磁盘空间形成脏数据,导致磁盘浪费、创建及恢复快照性能下降等问题,如何清理?

清理与回收存储空间对系统的影响如下:

  • 删除无用的脏数据,释放存储空间。
  • 数据库将进行大量读写操作,可能影响正常使用,建议选择空闲时间执行。
  • 数据库的存储空间越大,即数据可能越多,清理的时间越长。

清理与回收存储空间操作步骤如下:

  1. 连接数据库。具体操作步骤请参见连接集群
  2. 执行以下命令,清理与回收存储空间。

    VACUUM FULL;

    默认清理当前用户在数据库中,拥有权限的每一个表。没有权限的表则直接跳过回收操作。

    当系统显示以下内容时,表示清理完成:

    1
    VACUUM
    
    • VACUUM FULL回收所有过期的行空间,但是它需要对每个正在处理的表进行独占锁定,并且可能需要很长时间才能完成大型分布式数据库表。一般建议对指定表执行VACUUM FULL,若需要对整个数据库执行VACUUM FULL,建议在数据库维护期间操作。
    • 使用FULL参数会导致统计信息丢失,如果需要收集统计信息,请在语句命令中加上analyze关键字。例如,执行VACUUM FULL ANALYZE;命令。

      VACUUM的更多信息请参见《SQL语法参考》中的VACUUM中章节。