ALTER TABLE [db.]table [ON CLUSTER cluster] APPLY PATCHES [IN PARTITION partition_id]
Команда вручную запускает физическую материализацию патч-частей, созданных командами легковесного UPDATE. Она принудительно применяет отложенные патчи к частям данных, переписывая только затронутые столбцы.
- Работает только для таблиц семейства
MergeTree (включая реплицируемые таблицы).
- Это операция мутации, которая выполняется асинхронно в фоновом режиме.
Когда использовать APPLY PATCHES
Как правило, использовать 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%';
Последнее изменение 10 июня 2026 г.