Skip to main content

Descripción

La tabla contiene información sobre las mutaciones de las tablas MergeTree y su progreso. Cada comando de mutación se representa mediante una sola fila.

Columnas:

  • database (String) — El nombre de la base de datos a la que se aplicó la mutación.
  • table (String) — El nombre de la tabla a la que se aplicó la mutación.
  • mutation_id (String) — El ID de la mutación. En las tablas replicadas, estos ID corresponden a nombres de znodes en el directorio <table_path_in_clickhouse_keeper>/mutations/ de ClickHouse Keeper. En las tablas no replicadas, los ID corresponden a nombres de archivo en el directorio de datos de la tabla.
  • command (String) — La cadena de comandos de la mutación (la parte de la consulta posterior a ALTER TABLE [db.]table).
  • create_time (DateTime) — La fecha y hora en que se envió el comando de mutación para su ejecución.
  • block_numbers.partition_id (Array(String)) — En las mutaciones de tablas replicadas, el array contiene los ID de las particiones (un registro por cada partición). En las mutaciones de tablas no replicadas, el array está vacío.
  • block_numbers.number (Array(Int64)) — En las mutaciones de tablas replicadas, el array contiene un registro por cada partición con el número de bloque adquirido por la mutación. En cada partición, solo se mutarán las partes que contengan bloques con números inferiores a este. En las tablas no replicadas, los números de bloque de todas las particiones forman una única secuencia. Esto significa que, para las mutaciones de tablas no replicadas, la columna contendrá un único registro con el número de bloque adquirido por la mutación.
  • parts_in_progress_names (Array(String)) — Un array con los nombres de las partes de datos que se están mutando actualmente.
  • parts_to_do_names (Array(String)) — Un array con los nombres de las partes de datos que deben mutarse para completar la mutación.
  • parts_to_do (Int64) — El número de partes de datos que deben mutarse para completar la mutación. Nota: aunque parts_to_do = 0, es posible que una mutación de una tabla replicada aún no se haya completado debido a un INSERT de larga duración que está creando una nueva parte de datos que deberá mutarse.
  • parts_postpone_reasons (Map(String, String)) — Un map que asocia nombres de partes con los motivos por los que se posponen.
  • is_done (UInt8) — Indica si la mutación está completada. Valores posibles: 1 si la mutación está completada; 0 si la mutación sigue en curso.
  • is_killed (UInt8) — Indica si una mutación ha sido terminada. Solo disponible en ClickHouse Cloud. Nota: is_killed=1 no significa necesariamente que la mutación esté completamente finalizada. Es posible que una mutación permanezca durante un período prolongado en un estado en el que is_killed=1 e is_done=0. Esto puede ocurrir si otra mutación de larga duración bloquea la mutación terminada. Es una situación normal.
  • latest_failed_part (String) — El nombre de la parte más reciente que no pudo mutarse.
  • latest_fail_time (DateTime) — La fecha y hora del fallo de mutación de una parte más reciente.
  • latest_fail_reason (String) — El mensaje de excepción que provocó el fallo de mutación de una parte más reciente.
  • latest_fail_error_code_name (String) — El código de error de la excepción que provocó el fallo de mutación de una parte más reciente.
  • Si el nombre de una parte no está en parts_postpone_reasons y aún no ha sido mutada, significa que la parte todavía no está programada para una mutación.
  • El nombre de parte all_parts representa todas las partes que aún no han sido mutadas.
  • is_killed (UInt8) — Indica si una mutación ha sido terminada manualmente. Solo disponible en ClickHouse Cloud.
is_killed=1 no significa necesariamente que la mutación se haya finalizado por completo. Es posible que una mutación permanezca durante un período prolongado en un estado en el que is_killed=1 e is_done=0. Esto puede ocurrir si otra mutación de larga duración bloquea la mutación terminada manualmente. Esta es una situación normal.
  • is_done (UInt8) — El indicador que señala si la mutación ha finalizado o no. Valores posibles:
    • 1 si la mutación ha finalizado,
    • 0 si la mutación sigue en proceso.
Incluso si parts_to_do = 0, es posible que una mutación en una tabla replicada todavía no haya finalizado debido a una consulta INSERT de larga duración, que creará una nueva parte de datos que deberá mutarse.
Si hubo problemas al mutar algunas partes de datos, las siguientes columnas contienen información adicional:
  • latest_failed_part (String) — El nombre de la parte más reciente que no pudo mutarse.
  • latest_fail_time (DateTime) — La fecha y hora del fallo más reciente de mutación de una parte.
  • latest_fail_reason (String) — El mensaje de excepción que causó el fallo más reciente de mutación de una parte.

Monitorización de mutaciones

Para seguir el progreso de la tabla system.mutations, use la siguiente consulta:
Nota: esto requiere permisos de lectura sobre las tablas system.*.
Uso de CloudEn ClickHouse Cloud, la tabla system.mutations de cada nodo contiene todas las mutaciones del clúster, por lo que no es necesario usar clusterAllReplicas.

Véase también

Última modificación el 14 de agosto de 2026