system.part_log
Системная таблица system.part_log
создается только в том случае, если задана серверная настройка part_log.
Содержит информацию о всех событиях, произошедших с кусками данных таблиц семейства MergeTree (например, события добавления, удаления или слияния данных).
Столбцы:
query_id
(String) — идентификатор запросаINSERT
, создавшего этот кусок.event_type
(Enum8) — тип события. Столбец может содержать одно из следующих значений:NEW_PART
— вставка нового куска.MERGE_PARTS
— слияние кусков.DOWNLOAD_PART
— загрузка с реплики.REMOVE_PART
— удаление или отсоединение из таблицы с помощью DETACH PARTITION.MUTATE_PART
— изменение куска.MOVE_PART
— перемещение куска между дисками.
merge_reason
(Enum8) — Причина события с типомMERGE_PARTS
. Может принимать одно из следующих значений:NOT_A_MERGE
— событие имеет тип иной, чемMERGE_PARTS
.REGULAR_MERGE
— обычное слияние.TTL_DELETE_MERGE
— очистка истекших данных.TTL_RECOMPRESS_MERGE
— переупаковка куска.
merge_algorithm
(Enum8) — Алгоритм слияния для события с типомMERGE_PARTS
. Может принимать одно из следующих значений:UNDECIDED
HORIZONTAL
VERTICAL
event_date
(Date) — дата события.event_time
(DateTime) — время события.event_time_microseconds
(DateTime64) — время события с точностью до микросекунд.duration_ms
(UInt64) — длительность.database
(String) — имя базы данных, в которой находится кусок.table
(String) — имя таблицы, в которой находится кусок.part_name
(String) — имя куска.partition_id
(String) — идентификатор партиции, в которую был добавлен кусок. В столбце будет значениеall
, если таблица партициируется по выражениюtuple()
.path_on_disk
(String) — абсолютный путь к папке с файлами кусков данных.rows
(UInt64) — число строк в куске.size_in_bytes
(UInt64) — размер куска данных в байтах.merged_from
(Array(String)) — массив имён кусков, из которых образован текущий кусок в результате слияния (также столбец заполняется в случае скачивания уже смерженного куска).bytes_uncompressed
(UInt64) — количество прочитанных не сжатых байт.read_rows
(UInt64) — сколько было прочитано строк при слиянии кусков.read_bytes
(UInt64) — сколько было прочитано байт при слиянии кусков.peak_memory_usage
(Int64) — максимальная разница между выделенной и освобождённой памятью в контексте потока.error
(UInt16) — код ошибки, возникшей при текущем событии.exception
(String) — текст ошибки.
Системная таблица system.part_log
будет создана после первой вставки данных в таблицу MergeTree
.
Пример