Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Paquets du client natif

valeur nom description
0 Hello Début de la négociation client
1 requête Requête
2 Data Bloc de données
3 Cancel Annuler la requête
4 Ping Requête Ping
5 TableStatus Requête d'état de la table

Le paquet Data peut être compressé.

Hello

Par exemple, supposons que nous utilisions Go Client v1.10, qui prend en charge la version de protocole 54451, et que nous voulions nous connecter à la base de données default avec l’utilisateur default et le mot de passe secret.

champ type valeur description
client_name String "Go Client" Nom de l’implémentation cliente
version_major UVarInt 1 Version majeure du client
version_minor UVarInt 10 Version mineure du client
protocol_version UVarInt 54451 Version du protocole TCP
database String "default" Nom de la base de données
username String "default" Nom d’utilisateur
password String "secret" Mot de passe

Version du protocole

La version du protocole correspond à la version du protocole TCP du client.

En général, elle est égale à la dernière révision compatible du serveur, mais il ne faut pas la confondre avec celle-ci.

Valeurs par défaut

Toutes les valeurs doivent être définies explicitement ; il n’existe aucune valeur par défaut côté serveur. Côté client, utilisez comme valeurs par défaut la base de données "default", le nom d’utilisateur "default" et le mot de passe "" (chaîne vide).

Requête

champ type valeur description
query_id String 1ff-a123 ID de requête, peut être UUIDv4
client_info ClientInfo Voir le type Informations sur le client
settings Paramètres Voir le type Liste des paramètres
secret String secret Secret inter-serveur
stage UVarInt 2 Exécuter jusqu'à l'étape de la requête
compression UVarInt 0 désactivée=0, activée=1
body String SELECT 1 Texte de la requête

Informations sur le client

champ type description
query_kind byte None=0, Initial=1, Secondary=2
initial_user String Utilisateur initial
initial_query_id String ID de la requête initiale
initial_address String Adresse initiale
initial_time Int64 Heure initiale
interface byte TCP=1, HTTP=2
os_user String Utilisateur du système d’exploitation
client_hostname String Nom d’hôte du client
client_name String Nom du client
version_major UVarInt Version majeure du client
version_minor UVarInt Version mineure du client
protocol_version UVarInt Version du protocole client
quota_key String Clé de quota
distributed_depth UVarInt Profondeur de Distributed
version_patch UVarInt Version de correctif du client
otel Bool Les champs de trace sont présents
trace_id FixedString(16) ID de trace
span_id FixedString(8) ID de span
trace_state String État du traçage
trace_flags Byte Indicateurs de traçage

Paramètres

champ type valeur description
key String send_logs_level Clé du paramètre
value String trace Valeur du paramètre
important Bool true Peut être ignoré ou non

Encodé sous forme de liste : une clé et une valeur vides indiquent la fin de la liste.

Étape

valeur nom description
0 FetchColumns Types de colonnes uniquement
1 WithMergeableState Jusqu'à l'état fusionnable
2 Complete Jusqu'à l'état complet (devrait être la valeur par défaut)

Data

champ type description
info BlockInfo Informations du bloc encodées
columns UVarInt Nombre de colonnes
rows UVarInt Nombre de lignes
columns []Column Colonnes avec données

Colonne

champ type valeur description
name String foo Nom de la colonne
type String DateTime64(9) Type de la colonne
data bytes ~ Données de la colonne

Cancel

Aucun corps de paquet. Le serveur doit annuler la requête.

Ping

Pas de corps de paquet. Le serveur doit répondre par pong.

Navigation