Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ALTER TABLE ... APPLY PATCHES

Возможность в статусе бета
ALTER TABLE [db.]table [ON CLUSTER cluster] APPLY PATCHES [IN PARTITION partition_id]

Команда вручную запускает физическую материализацию патч-частей, созданных командами легковесного UPDATE. Она принудительно применяет отложенные патчи к частям данных, переписывая только затронутые столбцы.

Когда использовать APPLY PATCHES

Патч-части обычно применяются автоматически в ходе слияний, когда включена настройка apply_patches_on_merge (по умолчанию). Однако в следующих случаях может потребоваться вручную запустить применение патчей:

  • Чтобы уменьшить накладные расходы на применение патчей при выполнении запросов SELECT
  • Чтобы объединить несколько патч-частей, прежде чем они накопятся
  • Чтобы подготовить данные к резервному копированию или экспорту, уже материализовав патчи
  • Когда apply_patches_on_merge отключена и вы хотите сами определять, когда применять патчи

Примеры

Примените все отложенные патчи для таблицы:

ALTER TABLE my_table APPLY PATCHES;

Применяйте патчи только к конкретной партиции:

ALTER TABLE my_table APPLY PATCHES IN PARTITION '2024-01';

Сочетайте с другими операциями:

ALTER TABLE my_table APPLY PATCHES, UPDATE column = value WHERE condition;

Мониторинг применения патча

Вы можете отслеживать ход применения патча с помощью таблицы system.mutations:

SELECT * FROM system.mutations
WHERE table = 'my_table' AND command LIKE '%APPLY PATCHES%';

См. также

Navigation