http_allow_database_as_path
启用后,HTTP 接口会识别 URL 路径中的/database/ 组件,并将其用作当前数据库。
这是一个按用户生效的设置,用于控制是否解析已路由的路径式请求。路由本身由服务器级配置设置 http_allow_path_requests 全局控制 (默认开启) 。必须启用该设置,HTTP 接口才能将路径式请求 (例如 /my_db/my_table.csv) 路由到查询处理程序。由于路由决策在请求完成身份验证之前作出,因此不能依赖按用户生效的设置。http_allow_path_requests 关闭时,未知路径会返回普通的 404。路由后,会根据已通过身份验证用户的有效设置再次检查此设置,因此可针对特定用户、角色或 profile 选择性禁用。
http_allow_filters_as_path
启用后,HTTP 接口会识别路径中的/name=value/ 组件 (Hive 分区风格) ,并将其转换为以 AND 组合的过滤器。还会识别运算符 >、<、>=、<=、!=、<>。
与 http_allow_database_as_path 一样,这是按用户设置;路径式请求的路由由服务器级配置设置 http_allow_path_requests 全局控制 (路由发生在身份验证之前) 。
http_allow_filters_as_unrecognized_url_parameters
启用后,任何未被识别为已知参数、设置或以param_* 为前缀的 URL 参数,都会被视为过滤器,并使用 AND 组合。支持以下两种形式:
- 普通的
name=value会转换为等值比较`name` = 'value'(标识符使用反引号,值会作为字符串字面量加引号) 。 - 使用比较运算符 (
!=、>、<、>=、<=、<>) 时,会将其视为比较表达式:运算符可以跨参数拆分 (?a!=2、?a>=2) ,也可以在 URL 中没有可用于拆分的=时以内联形式编写 (?a<>2、?f(x)>3) ;此时,重新组合的name[=value]会被解析为完整的 SQL 表达式。
http_allow_* 设置不同,此设置默认禁用:它作用于 HTTP 接口的所有请求,包括 /?query=... 端点,因此一旦启用,客户端附加的任何无法识别的 URL 参数 (例如请求 ID、签名、缓存破坏参数) 都会变成查询的过滤条件。此时,拼错的设置名称将不再报 UNKNOWN_SETTING 错误,而是以 UNKNOWN_IDENTIFIER 报错失败 (如果该名称恰好与某个列同名,则会在不报错的情况下直接过滤结果) ;此外,参数值会成为查询文本的一部分,不会像日志中的 Request URI 那样被掩码处理。
http_allow_table_as_file
启用后,HTTP 接口会将 URL 路径的最后一个组件识别为表名,其形式可以是table、table.format 或 table.format.compression。该路径会被解释为 SELECT * FROM table。
与 http_allow_database_as_path 一样,这是一个按用户生效的设置;路径式请求的路由在全局范围内受服务器级配置设置 http_allow_path_requests 控制 (路由发生在身份验证之前) 。
http_connection_timeout
HTTP 连接超时时间 (以秒为单位) 。 可能的值:- 任意正整数。
- 0 - 禁用 (超时时间为无限) 。
http_make_head_request
http_make_head_request 设置允许在通过 HTTP 读取数据时执行 HEAD 请求,以获取待读取文件的信息,例如文件大小。该设置默认启用,因此如果服务器不支持 HEAD 请求,可能需要将其禁用。
http_native_compression_disable_checksumming_on_decompress
启用或禁用在解压来自客户端的 HTTP POST 数据时进行校验和检查。仅适用于 ClickHouse 原生压缩格式 (不用于gzip 或 deflate) 。
如需了解更多信息,请参阅 HTTP 接口说明。
可能的值:
- 0 — 禁用。
- 1 — 启用。
http_receive_timeout
HTTP 接收超时时间 (秒) 。 可能的取值:- 任意正整数 (秒) 。
0不是无限超时,且可能导致连接建立失败 (POSIX 套接字超时要求正时间间隔) 。
http_send_timeout
HTTP 发送超时时间 (以秒为单位) 。 可能的值:- 任何正整数 (秒) 。
0不是无限超时时间,且可能导致连接建立失败 (POSIX 套接字超时时间要求使用正时间间隔) 。
仅适用于 default profile。更改生效需要重启 server。
http_skip_not_found_url_for_globs
跳过返回 HTTP_NOT_FOUND 错误的通配符 URLhttp_wait_end_of_query
启用服务器端 HTTP 响应缓冲。http_write_exception_in_output_format
将异常按输出格式写出,以生成有效的输出。适用于 JSON 和 XML 格式。http_x_clickhouse_format_overrides_output_format
控制X-ClickHouse-Format HTTP 请求头映射到哪个设置。
启用时 (默认) ,该请求头是 output_format 设置的别名:它会显式覆盖响应格式,优先级高于查询中的 FORMAT 子句和 URL 路径中的文件扩展名。
禁用时,该请求头是 default_format 设置的别名,与 26.8 版本之前的行为相同:仅当查询中没有 FORMAT 子句且未应用其他格式覆盖时,才由它决定所使用的格式。
无论哪种情况,该请求头都会覆盖同名的 URL 参数 (分别为 output_format 或 default_format) ,且绝不会影响 INSERT 请求体的解析方式。
这是 HTTP 接口的兼容性设置:该请求头在查询解析之前就已被处理,因此必须通过 URL 参数或用户 profile 指定,而不能通过查询内的 SETTINGS 子句设置。与 output_format 和 default_format 本身一样,它在只读模式 (readonly = 1) 下也始终可以更改,因此只读用户同样可以通过 URL 参数传递该设置。
http_zlib_compression_level
如果 enable_http_compression = 1,则设置 HTTP 请求响应中的数据压缩级别。 可能的值:1 到 12 的数值。高于9 的级别需要使用包含 libdeflate 的默认构建版本;不包含 libdeflate 的构建版本支持 1 到 9 级。