Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Paquetes del cliente nativo

valor nombre descripción
0 Hello Inicio del handshake del cliente
1 consulta Solicitud de consulta
2 Data Bloque con datos
3 Cancel Cancelación de consulta
4 Ping Solicitud de ping
5 TableStatus Solicitud de estado de la tabla

El paquete Data puede comprimirse.

Hello

Por ejemplo, supongamos que usamos Go Client v1.10, que admite la versión de protocolo 54451, y queremos conectarnos a la base de datos default con el usuario default y la contraseña secret.

campo tipo valor descripción
client_name String "Go Client" Nombre de la implementación del cliente
version_major UVarInt 1 Versión principal del cliente
version_minor UVarInt 10 Versión secundaria del cliente
protocol_version UVarInt 54451 Versión del protocolo TCP
database String "default" Nombre de la base de datos
username String "default" Nombre de usuario
password String "secret" Contraseña

Versión del protocolo

La versión del protocolo es la versión del protocolo TCP del cliente.

Por lo general, coincide con la última revisión compatible del servidor, pero no debe confundirse con ella.

Valores predeterminados

Todos los valores deben establecerse explícitamente; no hay valores predeterminados del lado del servidor. Del lado del cliente, use la base de datos "default", el nombre de usuario "default" y la contraseña "" (cadena vacía) como valores predeterminados.

Consulta

campo tipo valor descripción
query_id String 1ff-a123 ID de la consulta, puede ser UUIDv4
client_info ClientInfo Ver tipo Datos del cliente
settings Configuración Ver tipo Lista de configuraciones
secret String secret Secreto entre servidores
stage UVarInt 2 Ejecutar hasta la etapa de la consulta
compression UVarInt 0 Desactivado=0, habilitado=1
body String SELECT 1 Texto de la consulta

Información del cliente

field type description
query_kind byte None=0, Initial=1, Secondary=2
initial_user String Usuario inicial
initial_query_id String ID de consulta inicial
initial_address String Dirección inicial
initial_time Int64 Tiempo inicial
interface byte TCP=1, HTTP=2
os_user String Usuario del SO
client_hostname String Nombre de host del cliente
client_name String Nombre del cliente
version_major UVarInt Versión principal del cliente
version_minor UVarInt Versión secundaria del cliente
protocol_version UVarInt Versión del protocolo del cliente
quota_key String Clave de cuota
distributed_depth UVarInt Profundidad de Distributed
version_patch UVarInt Versión de parche del cliente
otel Bool Los campos de traza están presentes
trace_id FixedString(16) ID de traza
span_id FixedString(8) ID de span
trace_state String Estado del trazado
trace_flags Byte Indicadores de trazado

Configuración

campo tipo valor descripción
key String send_logs_level Clave de la configuración
value String trace Valor de la configuración
important Bool true Si se puede ignorar o no

Se codifica como una lista; una clave y un valor en blanco indican el final de la lista.

Etapa

valor nombre descripción
0 FetchColumns Solo obtiene los tipos de las columnas
1 WithMergeableState Hasta el estado fusionable
2 Complete Hasta la completitud plena (debería ser el valor predeterminado)

Data

campo tipo descripción
info BlockInfo Información codificada del bloque
columns UVarInt Cantidad de columnas
rows UVarInt Cantidad de filas
columns []Columna Columnas con datos

Columna

campo tipo valor descripción
name String foo Nombre de la columna
type String DateTime64(9) Tipo de la columna
data bytes ~ Datos de la columna

Cancel

No tiene cuerpo de paquete. El servidor debe cancelar la consulta.

Ping

Sin cuerpo del paquete. El servidor debe responder con pong.

Navigation