Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ALTER TABLE ... APPLY PATCHES

Recurso beta
ALTER TABLE [db.]table [ON CLUSTER cluster] APPLY PATCHES [IN PARTITION partition_id]

O comando aciona manualmente a materialização física das partes de patch criadas por instruções de UPDATE leve. Ele força a aplicação dos patches pendentes às partes de dados, reescrevendo apenas as colunas afetadas.

Quando usar APPLY PATCHES

As partes de patch normalmente são aplicadas automaticamente durante os merges quando a configuração apply_patches_on_merge está habilitada (padrão). No entanto, talvez você queira acionar manualmente a aplicação de patches nestes cenários:

  • Para reduzir a sobrecarga de aplicar patches durante consultas SELECT
  • Para consolidar várias partes de patch antes que se acumulem
  • Para preparar os dados para backup ou exportação com os patches já materializados
  • Quando apply_patches_on_merge está desabilitada e você quer controlar quando os patches são aplicados

Exemplos

Aplique todos os patches pendentes em uma tabela:

ALTER TABLE my_table APPLY PATCHES;

Aplique patches somente a uma partição específica:

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

Combine-o com outras operações:

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

Monitoramento da aplicação de patch

Você pode monitorar o andamento da aplicação de patch usando a tabela system.mutations:

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

Veja também

Navigation