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. Может принимать одно из следующих значений:UNDECIDEDHORIZONTALVERTICAL
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.
Пример