跳转到主要内容
名称描述
0Hello开始客户端握手
1Query查询请求
2Data含数据的块
3Cancel取消查询
4PingPing 请求
5TableStatus表状态请求
Data 包可以压缩。

Hello

例如,我们使用支持 54451 协议版本的 Go Client v1.10, 并希望使用 default 用户和 secret 密码连接到 default 数据库。
字段类型描述
client_nameString"Go Client"客户端实现名称
version_majorUVarInt1客户端主版本号
version_minorUVarInt10客户端次版本号
protocol_versionUVarInt54451TCP 协议版本
databaseString"default"数据库名称
usernameString"default"用户名
passwordString"secret"密码

协议版本

协议版本指客户端的 TCP 协议版本。 通常它等于最新的兼容服务器修订版本,但 不要将其与后者混为一谈。

默认值

所有值都应显式设置,服务端没有默认值。 在客户端,默认使用 "default" 数据库、"default" 用户名和 "" (空字符串) 密码。

查询

字段类型描述
query_idString1ff-a123查询 ID,可为 UUIDv4
client_info客户端信息见类型客户端信息
settings设置见类型设置列表
secretStringsecret服务器间共享密钥
stageUVarInt2执行至查询阶段
compressionUVarInt0禁用=0,启用=1
bodyStringSELECT 1查询文本

客户端信息

字段类型描述
query_kindbyteNone=0,Initial=1,Secondary=2
initial_userString初始用户
initial_query_idString初始查询 ID
initial_addressString初始地址
initial_timeInt64初始时间
interfacebyteTCP=1,HTTP=2
os_userString操作系统用户
client_hostnameString客户端主机名
client_nameString客户端名称
version_majorUVarInt客户端主版本号
version_minorUVarInt客户端次版本号
protocol_versionUVarInt客户端协议版本
quota_keyString配额键
distributed_depthUVarIntDistributed 深度
version_patchUVarInt客户端补丁版本
otelBool包含 trace 字段
trace_idFixedString(16)trace ID
span_idFixedString(8)span ID
trace_stateStringtrace 状态
trace_flagsBytetrace 标志

设置

字段类型描述
keyStringsend_logs_level设置的键名
valueStringtrace设置的值
importantBooltrue是否可以忽略
编码为列表,空的 key 和 value 表示列表结束。

阶段

名称描述
0FetchColumns仅拉取列类型
1WithMergeableState到可合并状态为止
2Complete直到完全完成 (应为默认值)

Data

字段类型描述
infoBlockInfo编码后的块信息
columnsUVarInt列数
rowsUVarInt行数
columns[]Column带数据的列

字段类型描述
nameStringfoo列名
typeStringDateTime64(9)列类型
databytes~列数据

Cancel

无数据包主体。服务器应取消该查询。

Ping

无数据包主体。服务器应返回 pong
最后修改于 2026年6月10日