> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Visão geral de backup e restauração no ClickHouse

# Backup e restauração no ClickHouse

> Esta seção apresenta uma visão geral de backups e restaurações no ClickHouse. Para uma
> descrição mais detalhada de cada método de backup, consulte as páginas dos métodos específicos
> na barra lateral.

<div id="introduction">
  ## Introdução
</div>

Embora a [replicação](/pt-BR/reference/engines/table-engines/mergetree-family/replication) ofereça proteção contra falhas de hardware, ela não
protege contra erros humanos: exclusão acidental de dados, exclusão da
tabela errada ou de uma tabela no cluster errado, e bugs de software que resultam em
processamento incorreto de dados ou corrupção de dados.

Em muitos casos, erros como esses afetam todas as réplicas. O ClickHouse tem salvaguardas
integradas para evitar alguns tipos de erro; por exemplo, por [padrão](/pt-BR/reference/settings/session-settings#max_table_size_to_drop)
você não pode simplesmente excluir tabelas com um motor da família `MergeTree` contendo mais de
50 Gb de dados. No entanto, essas salvaguardas não cobrem todos os casos possíveis, e
problemas ainda podem ocorrer.

Para mitigar com eficácia possíveis erros humanos, você deve preparar cuidadosamente uma
estratégia de backup e restauração dos seus dados **com antecedência**.

Cada empresa tem recursos disponíveis e requisitos de negócio diferentes, portanto
não há uma solução universal de backups e restaurações do ClickHouse que sirva para
todas as situações. O que funciona para um gigabyte de dados provavelmente não funcionará para dezenas
de petabytes de dados. Há várias abordagens possíveis, cada uma com seus próprios prós
e contras, que são apresentadas nesta seção da documentação. É uma boa ideia
usar várias abordagens em vez de apenas uma, para compensar suas diferentes
limitações.

<Note>
  Lembre-se de que, se você fez backup de algo e nunca tentou restaurá-lo,
  há grandes chances de que a restauração não funcione corretamente quando você realmente precisar dela (ou, pelo menos,
  leve mais tempo do que a empresa pode tolerar). Portanto, qualquer que seja a abordagem de backup escolhida, certifique-se de automatizar também o processo de restauração e pratique-o
  regularmente em um cluster ClickHouse de contingência.
</Note>

As páginas a seguir detalham os vários métodos de backup e
restauração disponíveis no ClickHouse:

| Página                                                                                              | Descrição                                                                             |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| [Backup/restore using local disk or S3 disk](/pt-BR/concepts/features/backup-restore/local-disk)    | Detalha o backup/restauração para ou a partir de um disco local ou disco S3           |
| [Backup/restore using S3 endpoint](/pt-BR/concepts/features/backup-restore/s3-endpoint)             | Detalha o backup/restauração para ou a partir de um endpoint S3                       |
| [Backup/restore using AzureBlobStorage](/pt-BR/concepts/features/backup-restore/azure-blob-storage) | Detalha o backup/restauração para ou a partir do Azure Blob Storage                   |
| [Alternative methods](/pt-BR/concepts/features/backup-restore/alternative-methods)                  | Discute métodos alternativos de backup                                                |
| [Snapshot backup](/pt-BR/concepts/features/backup-restore/snapshot)                                 | Snapshots leves para tabelas SharedMergeTree usando armazenamento de objetos em nuvem |

Os backups podem:

* ser [completos ou incrementais](#backup-types)
* ser [síncronos ou assíncronos](#synchronous-vs-asynchronous)
* ser [concorrentes ou não concorrentes](#concurrent-vs-non-concurrent)
* ser [compactados ou não compactados](#compressed-vs-uncompressed)
* usar [coleções nomeadas](#using-named-collections)
* ser protegidos por senha
* incluir [tabelas de sistema, tabelas de log ou tabelas de gerenciamento de acesso](#system-backups)

<div id="backup-types">
  ## Tipos de backup
</div>

Os backups podem ser completos ou incrementais. Os backups completos são uma cópia completa dos
dados, enquanto os backups incrementais contêm apenas as alterações nos dados desde o último backup completo.

Os backups completos têm a vantagem de serem um método de recuperação simples, independente (de outros backups)
e confiável. No entanto, podem levar muito tempo para serem concluídos e
podem consumir muito espaço. Os backups incrementais, por outro lado, são mais
eficientes tanto em termos de tempo quanto de espaço, mas a restauração dos dados exige que todos
os backups estejam disponíveis.

Dependendo das suas necessidades, você pode optar por usar:

* **Backups completos** para bancos de dados menores ou dados críticos.
* **Backups incrementais** para bancos de dados maiores ou quando os backups precisam ser feitos com frequência e com bom custo-benefício.
* **Ambos**, por exemplo, backups completos semanais e backups incrementais diários.

<div id="synchronous-vs-asynchronous">
  ## Backups síncronos vs. assíncronos
</div>

Os comandos `BACKUP` e `RESTORE` também podem ser marcados como `ASYNC`. Nesse caso, o
comando de backup retorna imediatamente, e o processo de backup é executado em segundo plano.
Se os comandos não forem marcados como `ASYNC`, o processo de backup será síncrono, e
o comando ficará bloqueado até que o backup seja concluído.

<div id="concurrent-vs-non-concurrent">
  ## Backups concorrentes vs. não concorrentes
</div>

Por padrão, o ClickHouse permite backups e restaurações concorrentes. Isso significa que você
pode iniciar várias operações de backup ou restauração simultaneamente. No entanto,
há configurações no nível do servidor que permitem desativar esse comportamento. Se você definir
essas configurações como false, apenas uma operação de backup ou restauração poderá ser executada
em um cluster por vez. Isso pode ajudar a evitar contenção de recursos ou possíveis
conflitos entre operações.

Para desativar backups/restaurações concorrentes, você pode usar estas configurações, respectivamente:

```xml theme={null}
<clickhouse>
    <backups>
        <allow_concurrent_backups>false</allow_concurrent_backups>
        <allow_concurrent_restores>false</allow_concurrent_restores>
    </backups>
</clickhouse>
```

O valor padrão de ambos é true, então, por padrão, backups/restaurações
concorrentes são permitidos. Quando essas configurações são false em um cluster, apenas um único backup/restauração
pode ser executado no cluster por vez.

<div id="compressed-vs-uncompressed">
  ## Backups compactados vs. não compactados
</div>

Os backups do ClickHouse suportam compactação por meio das configurações `compression_method` e `compression_level`.

Ao criar um backup, você pode especificar:

```sql theme={null}
BACKUP TABLE test.table
  TO Disk('backups', 'filename.zip')
  SETTINGS compression_method='lzma', compression_level=3
```

<div id="using-named-collections">
  ## Usando coleções nomeadas
</div>

Coleções nomeadas permitem armazenar pares chave-valor (como credenciais do S3, endpoints e configurações) que podem ser reutilizados em operações de backup e restauração.
Elas ajudam a:

* Ocultar credenciais de usuários sem acesso de Admin
* Simplificar comandos armazenando configurações complexas de forma centralizada
* Manter a consistência entre as operações
* Evitar a exposição de credenciais nos logs de consultas

Consulte ["coleções nomeadas"](/pt-BR/concepts/features/configuration/server-config/named-collections) para mais detalhes.

<div id="system-backups">
  ## Backup de tabelas de sistema, de log ou de gerenciamento de acesso
</div>

As tabelas de sistema também podem ser incluídas nos seus fluxos de trabalho de backup e restauração, mas isso
depende do seu caso de uso específico.

Tabelas de sistema que armazenam dados históricos, como aquelas com o sufixo `_log` (por exemplo,
`query_log`, `part_log`), podem ser submetidas a backup e restauração como qualquer outra tabela.
Se o seu caso de uso depender da análise de dados históricos — por exemplo, usar `query_log`
para acompanhar o desempenho de consultas ou depurar problemas —, é recomendável incluir essas
tabelas na sua estratégia de backup. No entanto, se os dados históricos dessas tabelas
não forem necessários, elas podem ser excluídas para economizar espaço de armazenamento de backup.

Tabelas de sistema relacionadas ao gerenciamento de acesso, como usuários, roles, row\_policies,
settings\_profiles e quotas, recebem tratamento especial durante as operações de backup e restauração.
Quando essas tabelas são incluídas em um backup, seu conteúdo é exportado para um arquivo especial
`accessXX.txt`, que contém as instruções SQL equivalentes para criar
e configurar as entidades de acesso. Durante a restauração, o processo
interpreta esses arquivos e reaplica os comandos SQL para recriar os usuários,
roles e outras configurações. Esse recurso garante que a configuração de controle
de acesso de um cluster ClickHouse possa ser submetida a backup e restauração como parte
da configuração geral do cluster.

Essa funcionalidade só funciona para configurações gerenciadas por meio de comandos SQL
(chamadas de ["Controle de acesso e gerenciamento de contas orientados por SQL"](/pt-BR/concepts/features/security/access-rights#enabling-access-control)).
As configurações de acesso definidas em arquivos de configuração do servidor ClickHouse (por exemplo, `users.xml`)
não são incluídas em backups e não podem ser restauradas por esse método.

<div id="syntax">
  ## Sintaxe geral
</div>

```sql theme={null}
-- comandos principais
BACKUP | RESTORE 
--- o que incluir no backup/restaurar (ou excluir)
TABLE [db.]table_name           [AS [db.]table_name_in_backup] |
DICTIONARY [db.]dictionary_name [AS [db.]name_in_backup] |
DATABASE database_name          [AS database_name_in_backup] |
TEMPORARY TABLE table_name      [AS table_name_in_backup] |
VIEW view_name                  [AS view_name_in_backup] |
[EXCEPT TABLES ...] |
ALL [EXCEPT {TABLES|DATABASES}...] } [,...]
--- 
[ON CLUSTER 'cluster_name']
--- destino ou origem do backup ou restauração
TO|FROM 
File('<path>/<filename>') | 
Disk('<disk_name>', '<path>/') | 
S3('<S3 endpoint>/<path>', '<Access key ID>', '<Secret access key>', '<extra_credentials>') |
AzureBlobStorage('<connection string>/<url>', '<container>', '<path>', '<account name>', '<account key>')
--- configurações adicionais
[SETTINGS ...]
[ASYNC]
```

**Consulte ["resumo dos comandos"](/pt-BR/concepts/features/backup-restore/overview#command-summary) para obter mais detalhes
sobre cada comando.**

<div id="command-summary">
  ### Resumo dos comandos
</div>

Cada um dos comandos acima é detalhado a seguir:

| **Comando**                                                            | **Descrição**                                                                                                                                               |   |
| ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| `BACKUP`                                                               | Cria um backup dos objetos especificados                                                                                                                    |   |
| `RESTORE`                                                              | Restaura objetos de um backup                                                                                                                               |   |
| `TABLE [db.]table_name [AS [db.]table_name_in_backup]`                 | Faz backup/restauração de uma tabela específica (pode ser renomeada)                                                                                        |   |
| `[PARTITION[S] partition_expr [,...]]`                                 | Faz backup/restauração apenas de partições específicas da tabela                                                                                            |   |
| `DICTIONARY [db.]dictionary_name [AS [db.]name_in_backup]`             | Faz backup/restauração de um objeto de Dicionário                                                                                                           |   |
| `DATABASE database_name [AS database_name_in_backup]`                  | Faz backup/restauração de um banco de dados inteiro (pode ser renomeado)                                                                                    |   |
| `TEMPORARY TABLE table_name [AS table_name_in_backup]`                 | Faz backup/restauração de uma tabela temporária (pode ser renomeada)                                                                                        |   |
| `VIEW view_name [AS view_name_in_backup]`                              | Faz backup/restauração de uma view (pode ser renomeada)                                                                                                     |   |
| `[EXCEPT TABLES ...]`                                                  | Exclui tabelas específicas ao fazer backup de um banco de dados                                                                                             |   |
| `ALL`                                                                  | Faz backup/restauração de tudo (todos os bancos de dados, tabelas etc.). Antes da versão 23.4 do ClickHouse, `ALL` se aplicava apenas ao comando `RESTORE`. |   |
| `[EXCEPT {TABLES\|DATABASES}...]`                                      | Exclui tabelas ou bancos de dados específicos ao usar `ALL`                                                                                                 |   |
| `[ON CLUSTER 'cluster_name']`                                          | Executa o backup/restauração em todo o cluster do ClickHouse                                                                                                |   |
| `TO\|FROM`                                                             | Direção: `TO` para o destino do backup, `FROM` para a origem da restauração                                                                                 |   |
| `File('<path>/<filename>')`                                            | Armazena no/restaura do sistema de arquivos local                                                                                                           |   |
| `Disk('<disk_name>', '<path>/')`                                       | Armazena em/restaura de um disco configurado                                                                                                                |   |
| `S3('<S3 endpoint>/<path>', '<Access key ID>', '<Secret access key>')` | Armazena no/restaura do Amazon S3 ou de armazenamento compatível com S3                                                                                     |   |
| `[SETTINGS ...]`                                                       | Veja abaixo a lista completa de configurações                                                                                                               |   |
| `[ASYNC]`                                                              | Faz com que a operação seja executada de forma assíncrona (retorna imediatamente com um ID que você pode monitorar)                                         |   |

<div id="settings">
  ### Configurações
</div>

**Configurações genéricas de backup e restauração**

| Configuração                                                 | Descrição                                                                                                                                                                                                                                                                                                                                                        | Valor padrão |
| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| `id`                                                         | ID da operação de backup ou de restauração; se não for especificado, será usado um UUID gerado aleatoriamente. Se já houver uma operação em execução com o mesmo ID, uma exceção será lançada.                                                                                                                                                                   |              |
| `compression_method`                                         | Especifica o método de compressão para o backup. Consulte a seção ["codecs de compressão de coluna"](/pt-BR/reference/statements/create/table#column_compression_codec)                                                                                                                                                                                          |              |
| `compression_level`                                          | Especifica o nível de compressão do backup                                                                                                                                                                                                                                                                                                                       |              |
| `password`                                                   | Senha do arquivo de backup. Suportado apenas para arquivos ZIP (`.zip`, `.zipx`).                                                                                                                                                                                                                                                                                |              |
| `base_backup`                                                | O destino do backup base usado em backups incrementais. Por exemplo: `Disk('backups', '1.zip')`                                                                                                                                                                                                                                                                  |              |
| `use_same_password_for_base_backup`                          | Indica se o arquivo do backup base deve herdar a senha da consulta.                                                                                                                                                                                                                                                                                              |              |
| `structure_only`                                             | Se habilitado, faz backup ou restaura apenas as instruções CREATE, sem os dados da tabela.                                                                                                                                                                                                                                                                       |              |
| `storage_policy`                                             | Política de armazenamento para as tabelas que estão sendo restauradas. Consulte ["uso de vários dispositivos de bloco para armazenar dados](/pt-BR/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-multiple-volumes). Aplicável apenas ao comando `RESTORE`. Aplica-se somente a tabelas com um engine da família `MergeTree`. |              |
| `allow_non_empty_tables`                                     | Permite que `RESTORE TABLE` insira dados em tabelas não vazias. Isso combinará 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; use com cautela.                                                                                                                        | `0`          |
| `backup_restore_keeper_max_retries`                          | Número máximo de tentativas para operações do \[Zoo]Keeper no decorrer de uma operação de BACKUP ou RESTORE. Deve ser alto o suficiente para que toda a operação não falhe por causa de uma falha temporária do \[Zoo]Keeper.                                                                                                                                    | `1000`       |
| `backup_restore_keeper_retry_initial_backoff_ms`             | Timeout de backoff inicial para operações do \[Zoo]Keeper durante backup ou restore                                                                                                                                                                                                                                                                              | `100`        |
| `backup_restore_keeper_retry_max_backoff_ms`                 | Timeout máximo de backoff para operações do \[Zoo]Keeper durante backup ou restore                                                                                                                                                                                                                                                                               | `5000`       |
| `backup_restore_failure_after_host_disconnected_for_seconds` | Se um host, durante uma operação `BACKUP ON CLUSTER` ou `RESTORE ON CLUSTER`, não recriar seu nó efêmero 'alive' no ZooKeeper dentro desse período, todo o backup ou restore será considerado como falho. Esse valor deve ser maior do que qualquer tempo razoável para um host se reconectar ao ZooKeeper após uma falha. Zero significa ilimitado.             | `3600`       |
| `backup_restore_keeper_max_retries_while_initializing`       | Máximo de novas tentativas para operações do \[Zoo]Keeper durante a inicialização de uma operação `BACKUP ON CLUSTER` ou `RESTORE ON CLUSTER`.                                                                                                                                                                                                                   | `20`         |
| `backup_restore_keeper_max_retries_while_handling_error`     | Número máximo de tentativas para operações do \[Zoo]Keeper ao tratar um erro em uma operação `BACKUP ON CLUSTER` ou `RESTORE ON CLUSTER`.                                                                                                                                                                                                                        | `20`         |
| `backup_restore_finish_timeout_after_error_sec`              | Por quanto tempo o initiator deve esperar que os outros hosts reajam ao nó 'error' e interrompam seu trabalho na operação atual de `BACKUP ON CLUSTER` ou `RESTORE ON CLUSTER`.                                                                                                                                                                                  | `180`        |
| `backup_restore_keeper_value_max_size`                       | Tamanho máximo dos dados de um nó do \[Zoo]Keeper durante o backup                                                                                                                                                                                                                                                                                               | `1048576`    |
| `backup_restore_batch_size_for_keeper_multi`                 | Tamanho máximo do lote para solicitação múltipla ao \[Zoo]Keeper durante backup ou restauração                                                                                                                                                                                                                                                                   | `1000`       |
| `backup_restore_batch_size_for_keeper_multiread`             | Tamanho máximo do lote para solicitação de multileitura ao \[Zoo]Keeper durante backup ou restauração                                                                                                                                                                                                                                                            | `10000`      |
| `backup_restore_keeper_fault_injection_probability`          | Probabilidade aproximada de falha de uma solicitação ao Keeper durante o backup ou a restauração. O valor válido está no intervalo `[0.0f, 1.0f]`                                                                                                                                                                                                                | `0`          |
| `backup_restore_keeper_fault_injection_seed`                 | `0` para uma semente aleatória; caso contrário, o valor da configuração                                                                                                                                                                                                                                                                                          | `0`          |
| `backup_restore_s3_retry_attempts`                           | Configuração de Aws::Client::RetryStrategy; o Aws::Client faz as novas tentativas por conta própria, e 0 significa nenhuma nova tentativa. Isso se aplica apenas a backup/restauração.                                                                                                                                                                           | `1000`       |
| `max_backup_bandwidth`                                       | Velocidade máxima de leitura, em bytes por segundo, para um backup específico no servidor. Zero significa ilimitada.                                                                                                                                                                                                                                             | `0`          |
| `max_backups_io_thread_pool_size`                            | O ClickHouse usa threads do pool de threads de E/S de backups para realizar operações de E/S de backup no S3. `max_backups_io_thread_pool_size` limita o número máximo de threads no pool.                                                                                                                                                                       | `1000`       |
| `max_backups_io_thread_pool_free_size`                       | Se o número de threads **ociosas** no Backups IO Thread pool exceder `max_backup_io_thread_pool_free_size`, ClickHouse liberará os recursos ocupados pelas threads ociosas e reduzirá o tamanho do pool. As threads poderão ser criadas novamente, se necessário.                                                                                                | `0`          |
| `backups_io_thread_pool_queue_size`                          | O número máximo de jobs que podem ser agendados no Backups IO Thread pool. Recomenda-se manter esta fila sem limite devido à lógica atual de backups no S3. Observação: um valor de `0` (padrão) significa sem limite.                                                                                                                                           | `0`          |
| `backup_threads`                                             | O número máximo de threads para executar comandos `BACKUP`.                                                                                                                                                                                                                                                                                                      |              |
| `max_backup_bandwidth_for_server`                            | A velocidade máxima de leitura, em bytes por segundo, para todos os backups no servidor. Zero significa ilimitado.                                                                                                                                                                                                                                               | `0`          |
| `shutdown_wait_backups_and_restores`                         | Se definido como true, o ClickHouse aguardará a conclusão dos backups e restaurações em execução antes de ser desligado.                                                                                                                                                                                                                                         | `1`          |

**Configurações específicas do S3**

| Configuração                              | Descrição                                                                                | Valor padrão |
| ----------------------------------------- | ---------------------------------------------------------------------------------------- | ------------ |
| `use_same_s3_credentials_for_base_backup` | Se o backup base no S3 deve herdar as credenciais da consulta. Funciona apenas com `S3`. |              |
| `s3_storage_class`                        | A classe de armazenamento usada para backup no S3. Por exemplo: `STANDARD`               |              |

**Configurações específicas do Azure**

| Configuração                        | Descrição                                                                                                               | Valor padrão |   |   |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------ | - | - |
| `azure_attempt_to_create_container` | Ao usar o Azure Blob Storage, indica se deve haver uma tentativa de criar o contêiner especificado caso ele não exista. | `true`       |   |   |

<div id="check-the-status-of-backups">
  ## Administração e solução de problemas
</div>

O comando de backup retorna um `id` e um `status`, e esse `id` pode ser usado para
consultar o status do backup. Isso é muito útil para verificar o andamento de backups
longos `ASYNC`. O exemplo abaixo mostra uma falha que ocorreu ao tentar
sobrescrever um arquivo de backup existente:

```sql theme={null}
BACKUP TABLE helloworld.my_first_table TO Disk('backups', '1.zip') ASYNC
```

```response theme={null}
┌─id───────────────────────────────────┬─status──────────┐
│ 7678b0b3-f519-4e6e-811f-5a0781a4eb52 │ CREATING_BACKUP │
└──────────────────────────────────────┴─────────────────┘

1 row in set. Elapsed: 0.001 sec.
```

```sql theme={null}
SELECT
*
FROM system.backups
WHERE id='7678b0b3-f519-4e6e-811f-5a0781a4eb52'
FORMAT Vertical
```

```response highlight={5,9} theme={null}
Row 1:
──────
id:                7678b0b3-f519-4e6e-811f-5a0781a4eb52
name:              Disk('backups', '1.zip')
status:            BACKUP_FAILED
num_files:         0
uncompressed_size: 0
compressed_size:   0
error:             Code: 598. DB::Exception: Backup Disk('backups', '1.zip') already exists. (BACKUP_ALREADY_EXISTS) (version 22.8.2.11 (official build))
start_time:        2022-08-30 09:21:46
end_time:          2022-08-30 09:21:46

1 row in set. Elapsed: 0.002 sec.
```

Além da tabela [`system.backups`](/pt-BR/reference/system-tables/backups), todas as operações de backup e restauração também são registradas na tabela de log do sistema
[`system.backup_log`](/pt-BR/reference/system-tables/backup_log):

```sql theme={null}
SELECT *
FROM system.backup_log
WHERE id = '7678b0b3-f519-4e6e-811f-5a0781a4eb52'
ORDER BY event_time_microseconds ASC
FORMAT Vertical
```

```response highlight={26} theme={null}
Row 1:
──────
event_date:              2023-08-18
event_time_microseconds: 2023-08-18 11:13:43.097414
id:                      7678b0b3-f519-4e6e-811f-5a0781a4eb52
name:                    Disk('backups', '1.zip')
status:                  CREATING_BACKUP
error:
start_time:              2023-08-18 11:13:43
end_time:                1970-01-01 03:00:00
num_files:               0
total_size:              0
num_entries:             0
uncompressed_size:       0
compressed_size:         0
files_read:              0
bytes_read:              0

Row 2:
──────
event_date:              2023-08-18
event_time_microseconds: 2023-08-18 11:13:43.174782
id:                      7678b0b3-f519-4e6e-811f-5a0781a4eb52
name:                    Disk('backups', '1.zip')
status:                  BACKUP_FAILED
error:                   Code: 598. DB::Exception: Backup Disk('backups', '1.zip') already exists. (BACKUP_ALREADY_EXISTS) (version 23.8.1.1)
start_time:              2023-08-18 11:13:43
end_time:                2023-08-18 11:13:43
num_files:               0
total_size:              0
num_entries:             0
uncompressed_size:       0
compressed_size:         0
files_read:              0
bytes_read:              0

2 rows in set. Elapsed: 0.075 sec.
```
