TRUNCATE
allows to remove part or ALL data from one or many partitions:
TRUNCATE
[DRYRUN]
[({<tags>}|<tags expression)]
[MINSIZE <size>]
[MAXSIZE <size>]
[BEFORE <timestamp>]
[MAXDBSIZE <size>]
Logrange partitions consist of chunks, so when a partition is truncated one or many chunks are removed from the partition. There is no way to remove only one record, unless the removed chunk contains only one record. The partition's chunks are ordered - oldest chunks come first. A partition, if it is truncated, always lost oldest chunks. The parameters of the TRUNCATE
command define which chunks should be deleted
The <size>
parameter can be provided in bytes (1000000) or in a human readable short form like kilobytes (1000k), megabytes (1M), gigabytes etc.notations could be used as well.
DRYRUN
flag allows to run truncation in test mode without actual truncation. The flag is helpful to see which data will be actually removed if the flag is not provided.
Default value is FALSE (!)
({<tags>}|<tags expression)
allows to specify the condition which partitions will be affected. The default value is empty string, what means ALL partitions. The rules by building of the tags are same as for SELECT
MINSIZE
allows to set the bar to minimum partition size. The flag value does not allow to truncate a partion which will follow to the partition size less than the value provided. For example if the initial partition size is 100G
and the flag is set to 50G
the partition cannot be truncated less than the size 50G
.
Default value: 0
MAXSIZE
allows to set the parition(s) size to be be considered. A partition must be at least the MAXSIZE
provided to be truncated.
Default value: 0
BEFORE
allows to specify the timestamp of chunk records to be truncated. Only chunks where ALL records timestamped before the provided value, could be removed.
Default value: 0
MAXDBSIZE
allows to limit the total partitions size. If the existing partitions' size exceeds the value, some or all partitions will be deleted completely. The partitions will be sorted by latest write time and deleted until the limit is reached.
Default value: unlimited
Note. TRUNCATE
with using both MAXSIZE
and BEFORE
flags provided, are composed by
logical OR condition. It means that a partition's chunks will be removed either they
meet MAXSIZE
or BEFORE
criteria, but NOT BOTH OF THEM.
TRUNCATE DRYRUN MAXSIZE 10M
prints information about truncating all partitions which size exceeds 10M
TRUNCATE MINSIZE 50M MAXSIZE 10G
truncates all partitions which size exceeds 10G
, leaving at least 50M
of data in each partition.
TRUNCATE name prefix "cust_app" BEFORE "-15d"
truncate all partitions with tag name
which value starts from "cust_app". Only records that are older 15 days from now could be removed.