数据仓库服务 GAUSSDB(DWS)-VACUUM:参数说明

时间:2025-03-21 16:04:45

参数说明

表1 VACUUM参数说明

参数

描述

取值范围

FULL

选择该参数,可以恢复更多的空间,但是会耗时更多,并且在表上施加了排他锁。

FULL选项还可以带有COMPACT参数,只针对HDFS表,指定该参数的VACUUM FULL操作性能要好于未指定该参数的VACUUM FULL操作。

说明:
  • COMPACT和PARTITION参数不能同时使用。
  • 使用FULL参数会导致统计信息丢失,如果需要收集统计信息,请在VACUUM FULL语句中加上analyze关键字。

-

FREEZE

指定FREEZE相当于执行VACUUM时将vacuum_freeze_min_age参数设为0。

-

VERBOSE

为每个表打印一份详细的清理工作报告。

-

ANALYZE | ANALYSE

更新用于优化器的统计信息,以决定执行查询的最有效方法。

-

table_name

需要清理的表的名称(可以带有模式修饰)。

缺省时为当前数据库中的所有表。

column_name

需要分析的具体的字段名称。

缺省时为所有字段。

PARTITION

指定清理的表为分区表。HDFS表不支持PARTITION参数。

说明:

PARTITION参数和COMPACT同时使用会报错:COMPACT can not be used with PARTITION.

-

partition_name

要清理的表的分区名称。

缺省时为所有分区。

DELTAMERGE

只针对HDFS表和列存表,将HDFS表或列存表的delta表中的数据转移到主表上存储。对HDFS表而言,当delta表中数据量小于六万行,则不作迁移,只有在大于或等于六万行数据时,将delta表中所有数据迁移到HDFS上,并通过truncate清理delta表的存储空间。对列存表而言,此操作总是会将delta表中的数据全部转移到CU中。

说明:

为了检查列存delta表中的信息(HDFS表的delta表数据可以通过explain analyze查到),提供下述DFX函数,用于获取某个列存表的delta表中数据存储情况:

  • pgxc_get_delta_info(TEXT),传入参数为列存表名,搜集并显示各个节点上的对应delta表信息,包括当前存活tuple数量、表大小、使用的最大block ID。
  • get_delta_info(TEXT),传入参数为列存表名,汇总pgxc_get_delta_info得到的结果,返回其delta表整体的当前存活tuple数量、表大小、使用的最大block ID。查询临时表delta信息时,需要显示指定临时表的schema,否则会报错找不到表。

-

HDFSDIRECTORY

只针对HDFS表,清理HDFS表(存储在HDFS表的目录下)的空值分区目录。

-

support.huaweicloud.com/sqlreference-910-dws/dws_06_0226.html