Описание
Таблица system.part_log создается только в том случае, если указана настройка сервера part_log.
Эта таблица содержит информацию о событиях, происходивших с частями данных в таблицах семейства MergeTree, например о добавлении данных или их слиянии.
Таблица system.part_log содержит следующие столбцы:
Столбцы
hostname(LowCardinality(String)) — имя хоста сервера, выполняющего запрос.query_id(String) — Идентификатор запроса INSERT, в результате которого была создана эта часть данных.event_type(Enum8('NewPart' = 1, 'MergeParts' = 2, 'DownloadPart' = 3, 'RemovePart' = 4, 'MutatePart' = 5, 'MovePart' = 6, 'MergePartsStart' = 7, 'MutatePartStart' = 8)) — Тип события, произошедшего с частью данных. Может принимать одно из следующих значений: NewPart — вставка новой части данных, MergePartsStart — слияние частей данных началось, MergeParts — слияние частей данных завершилось, DownloadPart — загрузка части данных, RemovePart — удаление или отсоединение части данных с помощью DETACH PARTITION. MutatePartStart — мутация части данных началась, MutatePart — мутация части данных завершилась, MovePart — перемещение части данных с одного диска на другой.merge_reason(Enum8('NotAMerge' = 1, 'RegularMerge' = 2, 'TTLDeleteMerge' = 3, 'TTLRecompressMerge' = 4, 'TTLDropMerge' = 5)) — Причина события типа MERGE_PARTS. Может принимать одно из следующих значений: NotAMerge — текущее событие имеет тип, отличный от MERGE_PARTS, RegularMerge — обычное слияние, TTLDeleteMerge, TTLDropMerge — очистка устаревших данных. TTLRecompressMerge — повторное сжатие части данных с помощью.merge_algorithm(Enum8('Undecided' = 0, 'Vertical' = 1, 'Horizontal' = 2)) — Алгоритм слияния для события типа MERGE_PARTS. Может принимать одно из следующих значений: Undecided, Horizontal, Verticalevent_date(Date) — дата события.event_time(DateTime) — Время события.event_time_microseconds(DateTime64(6)) — Время события с точностью до микросекунд.duration_ms(UInt64) — Продолжительность этой операции.database(String) — Имя базы данных, в которой находится эта часть данных.table(String) — Имя таблицы, которой принадлежит часть данных.table_uuid(UUID) — UUID таблицы, которой принадлежит часть данных.part_name(String) — Название части данных.partition_id(String) — идентификатор партиции, в которую была вставлена часть данных. Столбец принимает значениеall, если партиционирование выполняется поtuple().partition(String) — Имя партиции.part_type(String) — Тип части данных. Возможные значения: Wide и Compact.part_storage_type(String) — ТипDataPartStorage. Возможные значения:Packed— большинство файлов части хранится в одном архиве (проекции и несколько служебных файлов, напримерtxn_version.txt, записываются отдельно),Full— каждый файл хранится отдельно.disk_name(String) — Имя диска, на котором расположена часть данных.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(UInt64) — Максимальный объём оперативной памяти, использованный во время слиянияdeduplication_block_ids(Array(String)) — Массив идентификаторов блоков, используемый для дедупликации при вставке данной части.error(UInt16) — Код ошибки, соответствующей возникшему исключению.exception(String) — Текст сообщения об ошибке.mutation_ids(Array(String)) — массив идентификаторов мутаций, применённых к исходной части (merged_from), для события типа MUTATE_PART_START и MUTATE_PART.ProfileEvents(Map(LowCardinality(String), UInt64)) — Все события профилирования, собранные во время этой операции.projections_duration_ms(Map(LowCardinality(String), UInt64)) — Длительность слияния/перестроения каждой проекции в миллисекундах.
Псевдонимы:
ProfileEvents.Names— псевдонимmapKeys(ProfileEvents).ProfileEvents.Values— псевдонимmapValues(ProfileEvents).name— псевдонимpart_name.
Таблица system.part_log создается после первой вставки данных в таблицу MergeTree.
Пример
SELECT * FROM system.part_log LIMIT 1 FORMAT Vertical;Row 1:
──────
hostname: clickhouse.eu-central1.internal
query_id:
event_type: MergeParts
merge_reason: RegularMerge
merge_algorithm: Vertical
event_date: 2025-07-19
event_time: 2025-07-19 23:54:19
event_time_microseconds: 2025-07-19 23:54:19.710761
duration_ms: 2158
database: default
table: github_events
table_uuid: 1ad33424-f5f5-402b-ac03-ec82282634ab
part_name: all_1_7_1
partition_id: all
partition: tuple()
part_type: Wide
part_storage_type: Full
disk_name: default
path_on_disk: ./data/store/1ad/1ad33424-f5f5-402b-ac03-ec82282634ab/all_1_7_1/
rows: 3285726 -- 3.29 million
size_in_bytes: 438968542 -- 438.97 million
merged_from: ['all_1_1_0','all_2_2_0','all_3_3_0','all_4_4_0','all_5_5_0','all_6_6_0','all_7_7_0']
bytes_uncompressed: 1373137767 -- 1.37 billion
read_rows: 3285726 -- 3.29 million
read_bytes: 1429206946 -- 1.43 billion
peak_memory_usage: 303611887 -- 303.61 million
error: 0
exception:
mutation_ids:
ProfileEvents: {'FileOpen':703,'ReadBufferFromFileDescriptorRead':3824,'ReadBufferFromFileDescriptorReadBytes':439601681,'WriteBufferFromFileDescriptorWrite':592,'WriteBufferFromFileDescriptorWriteBytes':438988500,'ReadCompressedBytes':439601681,'CompressedReadBufferBlocks':6314,'CompressedReadBufferBytes':1539835748,'OpenedFileCacheHits':50,'OpenedFileCacheMisses':484,'OpenedFileCacheMicroseconds':222,'IOBufferAllocs':1914,'IOBufferAllocBytes':319810140,'ArenaAllocChunks':8,'ArenaAllocBytes':131072,'MarkCacheMisses':7,'CreatedReadBufferOrdinary':534,'DiskReadElapsedMicroseconds':139058,'DiskWriteElapsedMicroseconds':51639,'AnalyzePatchRangesMicroseconds':28,'ExternalProcessingFilesTotal':1,'RowsReadByMainReader':170857759,'WaitMarksLoadMicroseconds':988,'LoadedMarksFiles':7,'LoadedMarksCount':14,'LoadedMarksMemoryBytes':728,'Merge':2,'MergeSourceParts':14,'MergedRows':3285733,'MergedColumns':4,'GatheredColumns':51,'MergedUncompressedBytes':1429207058,'MergeTotalMilliseconds':2158,'MergeExecuteMilliseconds':2155,'MergeHorizontalStageTotalMilliseconds':145,'MergeHorizontalStageExecuteMilliseconds':145,'MergeVerticalStageTotalMilliseconds':2008,'MergeVerticalStageExecuteMilliseconds':2006,'MergeProjectionStageTotalMilliseconds':5,'MergeProjectionStageExecuteMilliseconds':4,'MergingSortedMilliseconds':7,'GatheringColumnMilliseconds':56,'ContextLock':2091,'PartsLockHoldMicroseconds':77,'PartsLockWaitMicroseconds':1,'RealTimeMicroseconds':2157475,'CannotWriteToWriteBufferDiscard':36,'LogTrace':6,'LogDebug':59,'LoggerElapsedNanoseconds':514040,'ConcurrencyControlSlotsGranted':53,'ConcurrencyControlSlotsAcquired':53}