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

# Pacotes do servidor

> Protocolo nativo do servidor

| valor | nome                             | descrição                                                                                       |
| ----- | -------------------------------- | ----------------------------------------------------------------------------------------------- |
| 0     | [Hello](#hello)                  | Resposta de handshake do servidor                                                               |
| 1     | Data                             | O mesmo que [dados do cliente](/pt-BR/resources/develop-contribute/native-protocol/client#data) |
| 2     | [Exception](#exception)          | Exceção no processamento da consulta                                                            |
| 3     | [Progress](#progress)            | Progresso da consulta                                                                           |
| 4     | [Pong](#pong)                    | Resposta ao Ping                                                                                |
| 5     | [EndOfStream](#end-of-stream)    | Todos os pacotes foram transferidos                                                             |
| 6     | [ProfileInfo](#profile-info)     | Dados de perfil                                                                                 |
| 7     | Totals                           | Valores totais                                                                                  |
| 8     | Extremes                         | Valores extremos (mín., máx.)                                                                   |
| 9     | TablesStatusResponse             | Resposta à solicitação TableStatus                                                              |
| 10    | [Log](#log)                      | Log do sistema de consultas                                                                     |
| 11    | TableColumns                     | Descrição das colunas                                                                           |
| 12    | UUIDs                            | Lista de IDs únicos de partes                                                                   |
| 13    | ReadTaskRequest                  | String (UUID) descreve uma solicitação que precisa da próxima tarefa                            |
| 14    | [ProfileEvents](#profile-events) | Pacote com eventos de perfil do servidor                                                        |

Os `Data`, `Totals` e `Extremes` podem ser comprimidos.

<div id="hello">
  ## Hello
</div>

Resposta ao [Hello do cliente](/pt-BR/resources/develop-contribute/native-protocol/client#hello).

| campo          | tipo    | valor           | descrição                     |
| -------------- | ------- | --------------- | ----------------------------- |
| name           | String  | `Clickhouse`    | Nome do servidor              |
| version\_major | UVarInt | `21`            | Versão principal do servidor  |
| version\_minor | UVarInt | `12`            | Versão secundária do servidor |
| revision       | UVarInt | `54452`         | Revisão do servidor           |
| tz             | String  | `Europe/Moscow` | Fuso horário do servidor      |
| display\_name  | String  | `Clickhouse`    | Nome do servidor para a UI    |
| version\_patch | UVarInt | `3`             | Versão de patch do servidor   |

<div id="exception">
  ## Exceção
</div>

Exceção do servidor durante o processamento da consulta.

| campo        | tipo   | valor                                  | descrição                         |
| ------------ | ------ | -------------------------------------- | --------------------------------- |
| code         | Int32  | `60`                                   | Consulte [ErrorCodes.cpp][codes]. |
| name         | String | `DB::Exception`                        | Versão principal do servidor      |
| message      | String | `DB::Exception: Table X doesn't exist` | Versão secundária do servidor     |
| stack\_trace | String | \~                                     | Rastreamento de pilha em C++      |
| nested       | Bool   | `true`                                 | Há mais erros                     |

Pode haver uma lista contínua de exceções até que `nested` seja `false`.

[codes]: https://clickhouse.com/codebrowser/ClickHouse/src/Common/ErrorCodes.cpp.html "Lista de códigos de erro"

<div id="progress">
  ## Progress
</div>

Progresso da execução da consulta informado periodicamente pelo servidor.

<Tip>
  O Progress é informado em **deltas**. Para obter os totais, acumule-os no cliente.
</Tip>

| campo        | tipo    | valor    | descrição                  |
| ------------ | ------- | -------- | -------------------------- |
| rows         | UVarInt | `65535`  | Contagem de linhas         |
| bytes        | UVarInt | `871799` | Contagem de bytes          |
| total\_rows  | UVarInt | `0`      | Total de linhas            |
| wrote\_rows  | UVarInt | `0`      | Linhas gravadas do cliente |
| wrote\_bytes | UVarInt | `0`      | Bytes gravados do cliente  |

<div id="pong">
  ## Pong
</div>

Resposta ao [Ping do cliente](/pt-BR/resources/develop-contribute/native-protocol/client#ping), sem corpo do pacote.

<div id="end-of-stream">
  ## Fim do fluxo
</div>

Não serão enviados mais pacotes **Data**; o resultado da consulta foi totalmente transmitido do servidor para o cliente.

Não há corpo de pacote.

<div id="profile-info">
  ## Informações do perfil
</div>

| campo                           | tipo    |
| ------------------------------- | ------- |
| linhas                          | UVarInt |
| blocos                          | UVarInt |
| bytes                           | UVarInt |
| applied\_limit                  | Bool    |
| rows\_before\_limit             | UVarInt |
| calculated\_rows\_before\_limit | Bool    |

<div id="log">
  ## Log
</div>

**Bloco de dados** com o log do servidor.

<Tip>
  Codificado como um **bloco de dados** em colunas, mas nunca é compactado.
</Tip>

| coluna      | tipo     |
| ----------- | -------- |
| time        | DateTime |
| time\_micro | UInt32   |
| host\_name  | String   |
| query\_id   | String   |
| thread\_id  | UInt64   |
| priority    | Int8     |
| source      | String   |
| text        | String   |

<div id="profile-events">
  ## Eventos de perfil
</div>

**Bloco de dados** com eventos de perfil.

<Tip>
  Codificado como **bloco de dados** em colunas, mas nunca é comprimido.

  O tipo de `value` é `UInt64` ou `Int64`, dependendo da revisão do servidor.
</Tip>

| coluna        | tipo            |
| ------------- | --------------- |
| host\_name    | String          |
| current\_time | DateTime        |
| thread\_id    | UInt64          |
| type          | Int8            |
| name          | String          |
| value         | UInt64 ou Int64 |
