跳转到主要内容

简介

ClickHouse 支持 gRPC 接口。gRPC 是一个基于 HTTP/2 和 Protocol Buffers 的开源远程过程调用系统。ClickHouse 中的 gRPC 实现支持:
  • SSL;
  • 身份验证;
  • 会话;
  • 压缩;
  • 通过同一通道并行执行查询;
  • 取消查询;
  • 获取 Progress 和日志;
  • 外部表。
该接口的规范可参见 clickhouse_grpc.proto

gRPC 配置

如需使用 gRPC 接口,请在主服务器配置中设置 grpc_port。其他配置选项请参见下面的示例:

内置客户端

你可以根据提供的规范,使用任何 gRPC 支持的编程语言编写客户端。 或者,也可以使用内置的 Python 客户端。它位于仓库中的 utils/grpc-client/clickhouse-grpc-client.py。内置客户端需要 grpcio 和 grpcio-tools 这两个 Python 模块。 该客户端支持以下参数:
  • --help – 显示帮助信息并退出。
  • --host HOST, -h HOST – 服务器名称。默认值:localhost。也可以使用 IPv4 或 IPv6 地址。
  • --port PORT – 要连接的端口。此端口应在 ClickHouse 服务器配置中启用 (参见 grpc_port) 。默认值:9100
  • --user USER_NAME, -u USER_NAME – 用户名。默认值:default
  • --password PASSWORD – 密码。默认值:空字符串。
  • --query QUERY, -q QUERY – 在非交互模式下要执行的查询。
  • --database DATABASE, -d DATABASE – 默认数据库。如果未指定,则使用服务器设置中的当前数据库 (默认为 default) 。
  • --format OUTPUT_FORMAT, -f OUTPUT_FORMAT – 结果输出格式。交互模式下的默认值为:PrettyCompact
  • --debug – 启用调试信息显示。
要以交互模式运行客户端,请在调用时不要传入 --query 参数。 在批次模式下,可通过 stdin 传入查询数据。 客户端使用示例 在下面的示例中,将创建一个表,并从 CSV 文件中加载数据。随后会查询该表的内容。
Query
Response
最后修改于 2026年7月1日