Skip to main content
The command manually triggers the physical materialization of patch parts created by lightweight UPDATE statements. It forcefully applies pending patches to the data parts by rewriting only the affected columns.
  • It only works for tables in the MergeTree family (including replicated tables).
  • This is a mutation operation and executes asynchronously in the background.

When to use APPLY PATCHES

Generally, you should not need to use APPLY PATCHES
Patch parts are normally applied automatically during merges when the apply_patches_on_merge setting is enabled (default). However, you may want to manually trigger patch application in these scenarios:
  • To reduce the overhead of applying patches during SELECT queries
  • To consolidate multiple patch parts before they accumulate
  • To prepare data for backup or export with patches already materialized
  • When apply_patches_on_merge is disabled and you want to control when patches are applied

Examples

Apply all pending patches for a table:
Apply patches only for a specific partition:
Combine with other operations:

Monitoring patch application

You can monitor the progress of patch application using the system.mutations table:

See also

Last modified on July 3, 2026