Contém uma lista de todas as operações BACKUP ou RESTORE, com seus estados atuais e outras propriedades. Observe que essa tabela não é persistente e mostra apenas as operações executadas após a última reinicialização do servidor.
id (String) — ID da operação, que pode ser passado via SETTINGS id=… ou ser um UUID gerado aleatoriamente.
name (String) — Nome da operação, uma string como Disk('backups', 'my_backup')
base_backup_name (String) — Nome da operação do backup base, uma string como Disk('backups', 'my_base_backup')
query_id (String) — ID da consulta que iniciou o backup.
status (Enum8(‘CREATING_BACKUP’ = 0, ‘BACKUP_CREATED’ = 1, ‘BACKUP_FAILED’ = 2, ‘RESTORING’ = 3, ‘RESTORED’ = 4, ‘RESTORE_FAILED’ = 5, ‘BACKUP_CANCELLED’ = 6, ‘RESTORE_CANCELLED’ = 7)) — Status da operação de backup ou restauração.
error (String) — A mensagem de erro, se houver.
start_time (DateTime64(6)) — O momento em que a operação foi iniciada.
end_time (DateTime64(6)) — O momento em que a operação foi concluída.
num_files (UInt64) — O número de arquivos armazenados no backup.
total_size (UInt64) — O tamanho total dos arquivos armazenados no backup.
num_entries (UInt64) — O número de entradas no backup, ou seja, o número de arquivos dentro da pasta se o backup for armazenado como uma pasta.
uncompressed_size (UInt64) — O tamanho não comprimido do backup.
compressed_size (UInt64) — O tamanho comprimido do backup.
files_read (UInt64) — Retorna o número de arquivos lidos durante o RESTORE a partir deste backup.
bytes_read (UInt64) — Retorna o tamanho total dos arquivos lidos durante o RESTORE a partir deste backup.
ProfileEvents (Map(LowCardinality(String), UInt64)) — Todos os profile events coletados durante esta operação.
settings (Map(LowCardinality(String), String)) — Configurações específicas de backup/restauração efetivamente usadas nesta operação (da cláusula SETTINGS, incluindo os valores padrão). Configurações sensíveis não são expostas.
engine_settings (Map(LowCardinality(String), String)) — Configurações efetivamente usadas pelo leitor/gravador do engine de backup (por exemplo, S3 allow_native_copy). Fica vazio quando a operação envolve mais de um engine que um map simples não consegue representar: backups incrementais e restaurações, restaurações lightweight de snapshot e operações ON CLUSTER não internas.
Atomicidade da restauração
RESTORE não é transacional e não faz rollback em caso de falha. Para cada tabela, todas as partes selecionadas são copiadas antes que qualquer uma delas seja anexada, mas a própria fase de anexação não é transacional — as partes ficam visíveis uma de cada vez. As tabelas são processadas de forma independente.
As tabelas são independentes. Uma tabela cuja restauração for concluída permanece no lugar, mesmo que outra tabela no mesmo comando falhe depois:
Se este comando falhar depois que db.t0 tiver sido totalmente restaurado, mas a restauração de db.t1 ainda não tiver terminado, db.t0 continuará restaurado.
A cláusula PARTITIONS não é um limite de commit. Ela apenas seleciona quais partes de uma tabela serão restauradas:
Todas as partes selecionadas da tabela são copiadas primeiro e anexadas somente quando todas estiverem prontas. Portanto, se esse comando falhar durante a fase de cópia — por exemplo, depois que a partição 2026-06-01 tiver sido totalmente copiada, mas 2026-06-02 e 2026-06-03 ainda não tiverem terminado — então 2026-06-01 não será confirmada, e a tabela ficará sem nenhum dado restaurado por esse comando. Quando a fase de cópia termina e a etapa de anexação começa, as partes são confirmadas uma a uma, portanto uma falha durante a anexação pode deixar a tabela parcialmente restaurada, sem rollback.
Para confirmar as partições de forma independente (para que uma partição concluída sobreviva a uma falha posterior e possa ser repetida isoladamente), execute um RESTORE separado para cada partição, usando SETTINGS allow_non_empty_tables = true após a primeira. Última modificação em 23 de julho de 2026