You need to enable JavaScript to run this app.
导航

配置参数说明

最近更新时间2023.05.10 10:10:10

首次发布时间2022.06.28 18:10:30

当前 ByteHouse 支持两种方式进行参数配置,分别为配置文件和标志位 flag,本文将详细介绍这两种方式的使用,并提供所有配置列表进行参考。

标志位 Flag

使用标志位的语法

./bytehouse-cli [Options...]

使用 stdin 的语法

./bytehouse-cli [Options...] < input

input | ./bytehouse-cli [Options...]

使用标志位 Flag 来指定配置参数的语法如下

# Format
--<long_name> -<alias>
        <description of option>
        Default: <default value>        Type: <value type>

# Example of setting an option
./bytehouse-cli --<long_name> your_value
./bytehouse-cli -<alias> your_value
./bytehouse-cli --<long_name>=your_value
./bytehouse-cli -<alias>=your_value

配置文件

除了使用标志 flag 指定配置参数外,更推荐用配置文件的方式,可以将配置持久化,便于有需要的时候进行调用。

在 ByteHouse CLI 启动时,会默认寻找名为 bytehouse_conf.toml 的默认配置文件。如果指定了 --config_file <path/to/file> 或者 -cf <path/to/file> 参数,则会在 <path/to/file> 路径下寻找对应的配置文件。

如下展示了一个配置文件的样例

# Settings for connection

token = "accesstoken"
role = "SystemAdmin"
region = "cn-beijing"
volcano = true
secure = true
connection_timeout = 100

# Settings for query Settings, set SQL mode by 1 or 0 
ansi_sql = 0

加载配置文件

使用配置文件的方式如下:

bytehouse-cli --config_file bytehouse_conf.toml

按照如上命令,则 CLI 会寻找当前路径下名为 bytehouse_conf.toml 的配置文件。

此外,当前也支持结合配置文件和标志参数 flag 一起使用,如下所示。

bytehouse-cli -user 'bob' -config_file 'bytehouse_conf.toml'

同时使用的情况下,优先级为:标志参数 > 配置文件 > 参数默认值。

修改配置文件

可以通过如下命令来修改配置文件:

set password = 'password'

查询配置参数

当前可以通过如下命令来查询所有配置参数:

show configuration

则客户端会返回一系列参数:
alt

保存配置参数

可以通过如下命令保存配置文件

save configuration into outfile 'save_config.toml' format toml

如果遇到本地文件名冲突,当前会默认创建 save_config(x).toml 来避免命名冲突。如希望覆盖当前同名配置文件,则可以通过增加 override 命令来执行。

save configuration into outfile 'save_config.toml' format toml override

注:如果配置文件存在于默认路径,并使用了默认文件名 bytehouse_conf.toml,则可以简化命令。

save configuration

该命令等同于下列命令

save configuration into outfile <default file path> format toml

配置参数列表

当前 CLI 支持两种类型的配置,客户端配置和查询配置

  • 客户端配置,即仅在客户端支持的配置配置,服务端不感知
    • 例如,--no_color
  • 查询配置,即通过配置调整服务端执行查询的参数
    • 例如,ansi_sql
配置名称简写数据类型默认值说明
regionRString-ByteHouse 服务所在地域
silentSBoolfalse设置为 true 时,只会显示查询结果和错误信息
compresscBoolfalse定义是否要用压缩数据
config_formatcFStringtoml定义配置文件的类型
config_filecfStringbytehouse_conf.toml定义配置文件的路径
format_csv_delimitercsv_delimString,定义处理 CSV 文件时列的分隔符
connection_timeoutctDuration3s建立连接时的超时时间
databasedString-定义默认使用的数据库
disable_backgrounddbBoolfalse定义后台进程是否要被禁用
formatfStringpretty定义输出结果的形式,默认为 pretty,支持 csv, CSVWithNames 等
force_continuefcBoolfalse如果前一个查询失败,是否继续执行 sql 脚本或者多条查询。
helphBoolfalse显示命令帮助
insert_block_sizeibsUnit6465536定义 session 中的插入数据大小
ignore_syntaxisBoolfalse定义在发送查询语句到服务端之前,是否要忽略语法检查
max_rows_to_printmrUint641000定义最多能打印的行数
no_colorncBoolfalse定义是否禁用 CLI 的颜色显示
queryqString-定义需要执行的查询,当设置了这个选项时,将不会进入交互模式。
rolerString-定义执行当前 session 的角色
read_timeoutrtDuration5m0s定义从 server 中的读取超时时间
securesBoolfalse定义是否要用 Secure TCP 连接
sql_dirsqlString-定义按词汇顺序执行的.sql文件/文件夹的路径
useruStringdefault定义连接 ByteHouse 的用户
versionvBoolfalse展示当前的 CLI 版本
warehousewString-定义当前使用的计算组
write_timeoutwtDuration5m0s定义从 server 中的写超时时间