Skip to main content

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.

Пример

SELECT * FROM system.part_log LIMIT 1 FORMAT Vertical;
Row 1:
──────
query_id: 983ad9c7-28d5-4ae1-844e-603116b7de31
event_type: NewPart
merge_reason: NotAMerge
merge_algorithm: Undecided
event_date: 2021-02-02
event_time: 2021-02-02 11:14:28
event_time_microseconds: 2021-02-02 11:14:28.861919
duration_ms: 35
database: default
table: log_mt_2
part_name: all_1_1_0
partition_id: all
path_on_disk: db/data/default/log_mt_2/all_1_1_0/
rows: 115418
size_in_bytes: 1074311
merged_from: []
bytes_uncompressed: 0
read_rows: 0
read_bytes: 0
peak_memory_usage: 0
error: 0
exception: