Pular para o conteúdo principal

Sintaxe

Consulte “resumo dos comandos” para obter mais detalhes sobre cada comando.

Configurar destinos de backup em disco

Configurar um destino de backup em disco local

Nos exemplos abaixo, você verá o destino de backup especificado como Disk('backups', '1.zip'). Para usar o mecanismo de backup Disk, primeiro é necessário adicionar um arquivo que especifique o destino de backup no caminho abaixo:
Por exemplo, a configuração abaixo define um disco chamado backups e depois adiciona esse disco à lista allowed_disk de backups:

Configure um destino de backup para disco S3

Também é possível fazer BACKUP/RESTORE no S3 configurando um disco S3 na configuração de armazenamento do ClickHouse. Configure o disco assim, adicionando um arquivo a /etc/clickhouse-server/config.d, como foi feito acima para o disco local.
BACKUP/RESTORE em disco S3 é feito da mesma forma que em disco local:
  • Este disco não deve ser usado para o próprio MergeTree, apenas para BACKUP/RESTORE
  • Se suas tabelas usam armazenamento S3 e os tipos de disco são diferentes, não são usadas chamadas CopyObject para copiar as partes para o bucket de destino; em vez disso, elas são baixadas e reenviadas, o que é muito ineficiente. Nesse caso, prefira usar a sintaxe BACKUP ... TO S3(<endpoint>) para esse caso de uso.

Exemplos de uso de backup/restauração em disco local

Fazer backup e restaurar uma tabela

Execute os comandos abaixo para criar o banco de dados e a tabela de teste dos quais faremos um backup e uma restauração neste exemplo:
Crie o banco de dados e a tabela:
Pré-processe e insira mil linhas de dados aleatórios:
Em seguida, você precisará criar um arquivo especificando o destino do backup no caminho abaixo:
Se o clickhouse-server estiver em execução, você precisará reiniciá-lo para que as alterações entrem em vigor.
Para fazer backup da tabela, você pode executar:
Query
Response
A tabela pode ser restaurada a partir do backup com o seguinte comando, se estiver vazia:
Query
Response
O RESTORE acima falharia se a tabela test.table contiver dados. A configuração allow_non_empty_tables=true permite que RESTORE TABLE insira dados em tabelas que não estão vazias. Isso misturará os dados já existentes na tabela com os dados extraídos do backup. Portanto, essa configuração pode causar duplicação de dados na tabela e deve ser usada com cautela.
Para restaurar a tabela com dados já existentes, execute:
Tabelas podem ser restauradas ou salvas em backup com novos nomes:
O arquivo desse backup tem a seguinte estrutura:
É possível usar formatos diferentes de zip. Veja “Backups como arquivos tar” abaixo para mais detalhes.

Backups incrementais em disco

Um backup de base no ClickHouse é o backup inicial e completo a partir do qual os backups incrementais subsequentes são criados. Os backups incrementais armazenam apenas as alterações feitas desde o backup de base, portanto ele deve ser mantido disponível para permitir a restauração a partir de qualquer backup incremental. O destino do backup de base pode ser definido com o setting base_backup.
Os backups incrementais dependem do backup de base. O backup de base deve ser mantido disponível para que seja possível restaurar a partir de um backup incremental.
Para fazer um backup incremental de uma tabela, primeiro faça um backup de base:
Todos os dados do backup incremental e do backup de base podem ser restaurados para uma nova tabela test_db.test_table2 com o comando:

Protegendo um backup

Backups gravados em disco podem ter uma senha aplicada ao arquivo. A senha pode ser especificada usando a configuração password.
A proteção por senha é compatível apenas com arquivos ZIP (.zip, .zipx). O caminho do backup deve terminar com .zip ou .zipx para que a senha seja aceita. Usar uma senha com qualquer outro formato — incluindo arquivos tar e caminhos que não sejam de arquivo compactado — resultará no erro BAD_ARGUMENTS: Password is not applicable, backup cannot be encrypted.
Para restaurar um backup protegido por senha, a senha deve ser novamente especificada usando a configuração password:

Backups como arquivos tar

Os backups podem ser armazenados não apenas como arquivos zip, mas também como arquivos tar. A funcionalidade é a mesma dos arquivos zip, exceto que a proteção por senha não é compatível com arquivos tar. Além disso, os arquivos tar oferecem suporte a vários métodos de compressão. Para fazer backup de uma tabela como tar:
para restaurar a partir de um arquivo tar:
Para alterar o método de compressão, o sufixo de arquivo correto deve ser adicionado ao nome do backup. Por exemplo, para compactar o arquivo tar usando gzip, execute:
Os sufixos de arquivos compactados compatíveis são:
  • tar.gz
  • .tgz
  • tar.bz2
  • tar.lzma
  • .tar.zst
  • .tzst
  • .tar.xz

Configurações de compressão

O método e o nível de compressão podem ser especificados por meio das configurações compression_method e compression_level, respectivamente.

Restaurar partições específicas

Se for necessário restaurar partições específicas associadas a uma tabela, elas podem ser especificadas. Vamos criar uma tabela simples particionada em quatro partições, inserir alguns dados nela e depois fazer backup apenas da primeira e da quarta partições:
Execute o comando a seguir para fazer backup das partições 1 e 4:
Execute o comando a seguir para restaurar as partições 1 e 4:
Última modificação em 29 de junho de 2026