Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Pacotes do cliente nativo

valor nome descrição
0 Hello Início do handshake do cliente
1 Query Solicitação de consulta
2 Data Bloco de dados
3 Cancel Cancelamento de consulta
4 Ping Solicitação de Ping
5 TableStatus Solicitação de status da tabela

O Data pode ser compactado.

Hello

Por exemplo, estamos usando o Go Client v1.10, que oferece suporte à versão de protocolo 54451, e queremos nos conectar ao banco de dados default com o usuário default e a senha secret.

campo tipo valor descrição
client_name String "Go Client" Nome da implementação do cliente
version_major UVarInt 1 Versão principal do cliente
version_minor UVarInt 10 Versão secundária do cliente
protocol_version UVarInt 54451 Versão do protocolo TCP
database String "default" Nome do banco de dados
username String "default" Nome de usuário
password String "secret" Senha

Versão do protocolo

A versão do protocolo corresponde à versão do protocolo TCP do cliente.

Em geral, ela é igual à revisão compatível mais recente do servidor, mas não deve ser confundida com essa revisão.

Valores padrão

Todos os valores devem ser explicitamente definidos; não há valores padrão no lado do servidor. No lado do cliente, use o banco de dados "default", o nome de usuário "default" e a senha "" (string vazia) como valores padrão.

Consulta

campo tipo valor descrição
query_id String 1ff-a123 ID da consulta, pode ser um UUIDv4
client_info ClientInfo Ver tipo Dados sobre o cliente
settings Configurações Ver tipo Lista de configurações
secret String secret Segredo entre servidores
stage UVarInt 2 Executa até o estágio da consulta
compression UVarInt 0 Desativado=0, ativado=1
body String SELECT 1 Texto da consulta

Informações do cliente

campo tipo descrição
query_kind byte None=0, Initial=1, Secondary=2
initial_user String Usuário inicial
initial_query_id String ID da consulta inicial
initial_address String Endereço inicial
initial_time Int64 Tempo inicial
interface byte TCP=1, HTTP=2
os_user String Usuário do SO
client_hostname String Hostname do cliente
client_name String Nome do cliente
version_major UVarInt Versão principal do cliente
version_minor UVarInt Versão secundária do cliente
protocol_version UVarInt Versão do protocolo do cliente
quota_key String Chave da quota
distributed_depth UVarInt Profundidade distribuída
version_patch UVarInt Versão de patch do cliente
otel Bool Campos de trace presentes
trace_id FixedString(16) ID do trace
span_id FixedString(8) ID do span
trace_state String Estado do rastreamento
trace_flags Byte Sinalizadores de rastreamento

Configurações

campo tipo valor descrição
chave String send_logs_level Chave da configuração
valor String trace Valor da configuração
importante Bool true Indica se pode ser ignorado

Codificado como lista; chave e valor em branco indicam o fim da lista.

Estágio

valor nome descrição
0 FetchColumns Busca apenas os tipos das colunas
1 WithMergeableState Até um estado passível de mesclagem
2 Complete Até a conclusão completa (deve ser o padrão)

Data

campo tipo descrição
info BlockInfo Informações do bloco codificadas
columns UVarInt Quantidade de colunas
rows UVarInt Quantidade de linhas
columns []Column Colunas com dados

Coluna

campo tipo valor descrição
name String foo Nome da coluna
type String DateTime64(9) Tipo da coluna
data bytes ~ Dados da coluna

Cancel

Não há corpo do pacote. O servidor deve cancelar a consulta.

Ping

Sem corpo do pacote. O servidor deve responder com pong.

Navigation