Skip to main content
这些设置用于配置 ClickHouse 服务器,且由 ClickHouse 源代码自动生成。

abort_on_logical_error

发生 LOGICAL_ERROR 异常时使服务器崩溃。仅供专家使用。

allowed_disks_for_table_engines

允许用于 Iceberg 的磁盘列表

auth_use_forwarded_address

对于通过代理连接的客户端,使用源地址进行身份验证。
由于转发地址很容易被伪造,因此使用此设置时应格外谨慎——接受此类身份验证的服务器不应允许直接访问,而应仅通过受信任的代理访问。

bcrypt_workfactor

使用 Bcrypt 算法bcrypt_password 身份验证类型的工作因子。 工作因子定义了计算哈希值并验证密码所需的计算量和时间。
对于需要频繁进行身份验证的应用程序, 鉴于 bcrypt 在较高 work factor 下会带来较大的 计算开销,建议考虑使用其他身份验证方法。

blob_storage_log

blob_storage_log 系统表的相关设置。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
示例:

builtin_dictionaries_reload_interval

重新加载内置字典之前的时间间隔 (以秒为单位) 。 ClickHouse 每隔 x 秒重新加载一次内置字典。因此,无需重启服务器即可“动态”编辑字典。 示例

cache_size_to_ram_max_ratio

设置缓存大小占 RAM 的最大比率。可在低内存系统上减小缓存大小。

cannot_allocate_thread_fault_injection_probability

仅用于测试。

cgroups_memory_usage_observer_wait_time

服务器根据 cgroups 中相应阈值调整其允许的最大内存消耗的时间间隔,单位为秒。 要禁用 cgroup 观察器,请将该值设置为 0

压缩

MergeTree 引擎表的数据压缩设置。
如果您刚开始使用 ClickHouse,建议不要修改此项。
配置模板:
<case> 字段
  • min_part_size – 数据分区片段的最小大小。
  • min_part_size_ratio – 数据分区片段大小与表大小的比率。
  • method – 压缩方法。可选值:lz4lz4hczstddeflate_qpl
  • level – 压缩级别。请参见编解码器
你可以配置多个 <case> 部分。
满足条件时的操作
  • 如果某个数据分区片段匹配某组条件,ClickHouse 会使用指定的压缩方法。
  • 如果某个数据分区片段匹配多组条件,ClickHouse 会使用第一个匹配到的条件集。
如果某个数据分区片段不满足任何条件,ClickHouse 会使用 lz4 压缩。
示例

config_reload_interval_ms

ClickHouse 重新加载配置并检查是否有新更改的频率

配置文件

指定服务器配置文件。

core_dump

配置 core dump 文件大小的软限制。
硬限制需通过系统工具配置。
示例

crash_log

crash_log 系统表操作的相关设置。 以下设置可通过子标签进行配置: 默认的服务器配置文件 config.xml 包含以下设置部分:

database_atomic_delay_before_drop_table_sec

表被删除后,在这段延迟时间内可使用 UNDROP 语句将其恢复。如果执行 DROP TABLE 时使用了 SYNC 修饰符,则会忽略此设置。 此设置的默认值为 480 (8 分钟) 。

dead_letter_queue

用于 ‘dead_letter_queue’ 系统表的设置。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
默认设置如下:

dictionary_background_reconnect_interval

已启用 background_reconnect 的失败 MySQL 和 Postgres 字典进行重连尝试的时间间隔,单位为毫秒。

disk_transaction_wait_for_blob_removal

每个 disk 的 wait_for_blob_removal 设置的默认值。 启用后,server 会在确认该操作前等待后台 blob 删除完成。

display_secrets_in_show_and_select

启用或禁用在针对表、数据库、表函数和字典的 SHOWSELECT 查询中显示敏感信息。 希望查看敏感信息的用户,还必须启用 format_display_secrets_in_show_and_select format 设置 ,并拥有 displaySecretsInShowAndSelect 权限。 可能的值:
  • 0 — 禁用。
  • 1 — 启用。

dns_max_consecutive_failures

当连续失败达到此次数后,将停止继续尝试更新主机名的 DNS 缓存。相关信息仍会保留在 DNS 缓存中。0 表示不受限制。 另请参见

dynamic_user_defined_executable_functions_path

用于存放由驱动动态创建的可执行 UDF 配置文件的目录 (参见 CREATE FUNCTION ... ENGINE = DriverName(...)) 。 服务器重启时,会扫描该目录中的配置文件,并加载相应的 UDF,而无需再次调用驱动。 示例

加密

配置用于获取密钥的命令,供加密编解码器使用。密钥 (或多个密钥) 应写入环境变量,或在配置文件中设置。 密钥可以是十六进制值,也可以是长度为 16 字节的字符串。 示例 从配置加载:
不建议将密钥存储在配置文件中,这样并不安全。你可以将密钥移到安全磁盘上的单独配置文件中,并在 config.d/ 目录下放置一个指向该配置文件的符号链接。
从配置中加载 (密钥为十六进制时) :
从环境变量中加载私钥:
这里,current_key_id 用于设置当前的加密密钥,所有指定的密钥都可用于解密。 上述每种方法都可应用于多个密钥:
这里的 current_key_id 表示当前用于加密的密钥。 此外,用户还可以添加长度必须为 12 字节的 nonce (默认情况下,加密和解密过程使用的 nonce 由零字节组成) :
或者也可以设置为十六进制:
上述所有内容都适用于 aes_256_gcm_siv (但密钥长度必须为 32 字节) 。

enforce_keeper_component_tracking

如果启用,则每个 ZooKeeper 请求都必须通过 Coordination::setCurrentComponent 设置组件名称。如果缺少该组件,则会抛出 LOGICAL_ERROR 异常。

error_log

默认情况下处于禁用状态。 启用 如需手动启用错误历史记录收集功能 system.error_log,请使用以下内容创建 /etc/clickhouse-server/config.d/error_log.xml
禁用 要禁用 error_log 设置,请创建以下文件 /etc/clickhouse-server/config.d/disable_error_log.xml,其内容如下:
以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:

filesystem_caches_path

此设置指定缓存路径。 示例

google_protos_path

用于指定包含 Protobuf 类型 proto 文件的目录。 示例

handshake_timeout_milliseconds

整个 TCP 握手阶段 (Hello + Addendum) 的挂钟时间超时时间,以毫秒为单位。限制未经身份验证的连接占用线程的最长时间。设为 0 可禁用。

hdfs.libhdfs3_conf

将 libhdfs3 指向其配置的正确位置。

hsts_max_age

HSTS 的过期时间,单位为秒。
值为 0 表示 ClickHouse 禁用 HSTS。如果设置为正数,则会启用 HSTS,且 max-age 为你设置的数值。
示例

iceberg_background_schedule_pool_size

用于异步从远程 Iceberg catalog 拉取最新元数据的线程池大小;所有活跃表共享该线程池。

ignore_empty_sql_security_in_create_view_query

如果为 true,ClickHouse 不会在 CREATE VIEW 查询中为留空的 SQL security 语句写入默认值。
此设置仅在迁移期间才需要,并将在 24.4 中弃用

include_from

包含替换内容的文件路径。支持 XML 和 YAML 格式。 更多信息,请参见配置文件一节。 示例

insert_deduplication_version

已弃用的迁移保护设置。此版本仅支持统一的插入去重哈希 (new_unified_hash) ;如果存在此设置且值为任何其他值 (例如 old_separate_hashescompatible_double_hashes) ,服务器将拒绝启动。升级前,请先在上一版本中运行 compatible_double_hashes 完成去重迁移 (该模式会同时写入旧版哈希和统一哈希) 。对于复制表,请至少运行 replicated_deduplication_window_seconds 对应的时长 (默认一小时) ;默认窗口会保留该窗口内所有 insert 的统一哈希,通常足以覆盖 insert 重试循环。对于 non_replicated_deduplication_window > 0 的非复制表,该窗口按计数而非按时间计算,因此升级前请至少运行 compatible_double_hashes 达到相同数量的 insert。

io_thread_pool_queue_size

可在 IO Thread pool 中调度的作业最大数量。
值为 0 表示不受限制。

keep_alive_timeout

ClickHouse 在关闭连接前,针对 HTTP 协议等待传入请求的秒数。 示例

ldap_servers

在此处列出 LDAP 服务器及其连接参数,以便:
  • 将其用作专用本地用户的身份验证器,这些用户指定的是 ldap 身份验证机制而非 password
  • 将其用作远程用户目录。
以下设置可通过子标签进行配置: 设置 user_dn_detection 可通过子标签进行配置: 示例:
示例 (典型的 Active Directory,已配置 user DN 检测,用于后续角色映射) :

日志记录器

日志消息的位置和格式。 日志格式说明符 logerrorLog 路径中的文件名支持以下格式说明符,用于生成结果文件名 (目录部分不支持这些说明符) 。 “Example”列显示的是 2023-07-06 18:32:07 时的输出。 示例
若仅将日志消息打印到控制台:
按级别覆盖 可以覆盖各个日志名称的日志级别。例如,要将日志记录器 “Backup” 和 “RBAC” 的所有消息静默。
syslog 如需额外将日志消息写入 syslog:
<syslog> 的键: 日志格式 你可以指定输出到控制台日志中的日志格式。目前仅支持 JSON。 示例 下面是一个输出 JSON 日志的示例:
要启用 JSON 日志支持,可使用以下代码片段:
重命名 JSON 日志中的键 可以通过修改 <names> 标签内各项标签的值来更改键名。例如,要将 DATE_TIME 改为 MY_DATE_TIME,可以使用 <date_time>MY_DATE_TIME</date_time> 省略 JSON 日志中的键 可以通过将相应属性注释掉来省略日志属性。例如,如果你不希望日志输出 query_id,可以将 <query_id> 标签注释掉。

logger.count

轮转策略:最多保留多少个 ClickHouse 历史日志文件。

logger.errorlog

错误日志文件的路径。

logger.formatting.type

控制台输出的日志格式。目前仅支持 <json>

logger.level

日志级别。可接受的值:<none> (关闭日志) 、<fatal><critical><error><warning><notice><information><debug><trace><test>

logger.log

日志文件路径。

logger.rotation

轮转策略:用于控制日志文件何时进行轮转。轮转可基于大小、时间,或两者结合。示例:100M、daily、100M,daily。日志文件一旦超过指定大小,或达到指定时间间隔时,就会被重命名并归档,同时创建新的日志文件。

logger.shutdown_level

Shutdown level 用于在服务器关闭时设置根 logger 的级别。

logger.size

轮转策略:日志文件的最大大小 (单位为字节) 。一旦日志文件大小超过此阈值,该文件会被重命名并归档,同时创建一个新的日志文件。

logger.startup_level

启动级别用于在服务器启动时设置根 logger 的级别。启动完成后,日志级别会恢复为 <level> 设置。

logger.stream_compress

使用 LZ4 压缩日志消息。将其设置为 <1><true> 以启用。

logger.syslog_level

写入 syslog 的日志级别。

logger.use_syslog

同时将日志输出转发到 syslog。

macros

用于复制表的参数替换。 如果不使用复制表,则可省略。 更多信息,请参阅创建复制表一节。 示例

message_queue_disable_insertion

禁用消息队列引擎 (Kafka、RabbitMQ、NATS) 向已附加的 materialized view 进行插入

metric_log

默认情况下,它是禁用的。 启用 如需手动启用指标历史记录收集 system.metric_log,请创建 /etc/clickhouse-server/config.d/metric_log.xml,内容如下:
禁用 要禁用 metric_log 设置,请创建以下文件 /etc/clickhouse-server/config.d/disable_metric_log.xml,内容如下:
以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:

mmap_cache_size

此设置可避免频繁调用 open/close (由于随之产生的缺页异常,这类调用开销很高) ,并让多个线程和查询复用映射。该设置值表示映射区域的数量 (通常等于映射文件的数量) 。 可以在以下系统表中通过下列指标监控映射文件中的数据量:
映射文件中的数据量不会直接占用内存,也不会计入查询或服务器的内存使用量,因为这部分内存可以像操作系统页缓存一样被丢弃。该缓存在 MergeTree 家族表中的旧 parts 被移除时会自动丢弃 (文件会被关闭) ,也可以通过 SYSTEM DROP MMAP CACHE 查询手动丢弃。此设置可在运行时修改,并会立即生效。

mutation_workload

用于调节变更与其他工作负载之间资源的使用和共享方式。指定的值将作为所有后台变更的 workload 设置值。该值可被 MergeTree 设置覆盖。 另请参见

oom_score

在 Linux 系统中,此设置可控制 OOM killer 的行为。

openSSL

SSL 客户端/服务器配置。 libpoco 库提供了对 SSL 的支持。可用的配置选项说明见 SSLManager.h。默认值可在 SSLManager.cpp 中找到。 服务器/客户端设置项: 设置示例:

openSSL.client.caConfig

指向包含受信任 CA 证书的文件或目录的 path。如果指向文件,则该文件必须为 PEM 格式,并且可以包含多个 CA 证书。如果指向目录,则目录中必须为每个 CA 证书提供一个 .pem 文件。文件名会根据 CA subject name 的哈希值进行查找。详见 SSL_CTX_load_verify_locations 的 man page。

openSSL.client.cacheSessions

启用或禁用会话缓存。必须与 <sessionIdContext> 配合使用。可选值:<true><false>

openSSL.client.certificateFile

PEM 格式的客户端/服务器证书文件的路径。如果 <privateKeyFile> 中已包含该证书,则可省略此项。

openSSL.client.cipherList

支持的 OpenSSL 加密套件列表。

openSSL.client.disableProtocols

禁止使用的协议。

openSSL.client.extendedVerification

启用后,会验证证书的 CN 或 SAN 是否与对端主机名一致。

openSSL.client.fips

启用 OpenSSL FIPS 模式。仅当该库使用的 OpenSSL 版本支持 FIPS 时,此设置才受支持。

openSSL.client.invalidCertificateHandler.name

用于校验无效证书的类 (CertificateHandler 的子类) 。例如:<<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>

openSSL.client.loadDefaultCAFile

确定是否使用 OpenSSL 的内置 CA 证书。ClickHouse 假定内置 CA 证书位于文件 </etc/ssl/cert.pem> (相应地,也可能位于目录 </etc/ssl/certs>) 中,或者位于环境变量 <SSL_CERT_FILE> (相应地,<SSL_CERT_DIR>) 指定的文件 (或目录) 中。

openSSL.client.preferServerCiphers

优先使用服务器端的密码套件。

openSSL.client.privateKeyFile

包含 PEM 证书私钥的文件的路径。该文件也可以同时包含私钥和证书。

openSSL.client.privateKeyPassphraseHandler.name

用于请求访问私钥所需口令短语的类 (PrivateKeyPassphraseHandler 的子类) 。例如:<<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>

openSSL.client.verificationDepth

证书验证链的最大长度。若证书链长度超过设定值,验证将失败。

openSSL.client.verificationMode

用于验证节点证书的方式。详见 Context 类的说明。可能的值:<none><relaxed><strict><once>

openSSL.server.caConfig

指向包含受信任 CA 证书的文件或目录的路径。如果这里指向一个文件,则该文件必须采用 PEM 格式,并且可以包含多个 CA 证书。如果这里指向一个目录,则该目录中必须为每个 CA 证书提供一个 .pem 文件。文件名通过 CA subject name 的哈希值查找。详细信息请参见 SSL_CTX_load_verify_locations 的 man page。

openSSL.server.cacheSessions

启用或禁用会话缓存。必须与 <sessionIdContext> 配合使用。可接受值:<true><false>

openSSL.server.certificateFile

PEM 格式的客户端/服务器证书文件的路径。如果 <privateKeyFile> 中包含该证书,则可省略此项。

openSSL.server.cipherList

支持的 OpenSSL 加密套件。

openSSL.server.disableProtocols

禁止使用的协议。

openSSL.server.extendedVerification

如果启用,将验证证书的 CN 或 SAN 是否与对端主机名匹配。

openSSL.server.fips

启用 OpenSSL FIPS 模式。仅当该库使用的 OpenSSL 版本支持 FIPS 时,此功能才受支持。

openSSL.server.invalidCertificateHandler.name

用于校验无效证书的类 (CertificateHandler 的子类) 。例如:<<invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler>>

openSSL.server.loadDefaultCAFile

确定是否使用 OpenSSL 内置的 CA 证书。ClickHouse 假定内置 CA 证书位于文件 </etc/ssl/cert.pem> (或目录 </etc/ssl/certs>) 中,或者位于由环境变量 <SSL_CERT_FILE> (或 <SSL_CERT_DIR>) 指定的文件 (或目录) 中。

openSSL.server.preferServerCiphers

优先使用服务器端密码套件,而非客户端偏好的密码套件。

openSSL.server.privateKeyFile

包含 PEM 证书私钥的文件的路径。该文件也可以同时包含私钥和证书。

openSSL.server.privateKeyPassphraseHandler.name

用于请求访问私钥所需口令短语的类 (PrivateKeyPassphraseHandler 的子类) 。例如:<<privateKeyPassphraseHandler>>, <<name>KeyFileHandler</name>>, <<options><password>test</password></options>>, <</privateKeyPassphraseHandler>>

openSSL.server.sessionCacheSize

服务器可缓存的最大会话数。值为 0 表示会话数不受限制。

openSSL.server.sessionIdContext

一串唯一的随机字符,服务器会将其附加到每个生成的标识符中。该字符串的长度不得超过 <SSL_MAX_SSL_SESSION_ID_LENGTH>。始终建议设置此参数,因为无论是服务器缓存了会话,还是客户端请求了缓存,它都有助于避免出现问题。

openSSL.server.sessionTimeout

在服务器上缓存会话的时长 (以小时为单位) 。

openSSL.server.verificationDepth

证书验证链的最大长度。若证书链长度超过该设置值,验证将失败。

openSSL.server.verificationMode

检查节点证书的方式。详见 Context 类的说明。可能的值:<none><relaxed><strict><once>

opentelemetry_span_log

opentelemetry_span_log 系统表的设置。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
示例:

part_log

记录与 MergeTree 相关的日志事件,例如添加或合并数据。你可以使用这些日志来模拟合并算法并比较其特性,也可以将合并过程可视化。 查询会记录到 system.part_log 表中,而不是单独的文件中。你可以通过 table 参数配置该表的名称 (见下文) 。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
示例

path

数据所在目录的路径。
末尾的斜杠必不可少。
示例

per_cpu_untracked_memory_thread_buffer

每个线程在不占用每 CPU 共享预算的情况下,可保留的未跟踪内存量,单位为字节。它通过在小额内存分配时分摊每 CPU 记账开销来降低成本;在最坏情况下,还会作为额外余量叠加到 max_per_cpu_untracked_memory * number_of_cpus 之上。值为 0 时会移除这部分余量:每次 allocation 都会更新共享的每 CPU 计数器 (精度最高,但 contention 也更高) 。仅限 Linux。

point_in_polygon_cache_size

函数 pointInPolygon 在使用常量 Polygon 参数时,其预处理多边形缓存的最大大小 (以字节为单位) 。 超过此限制的条目会按照最近最少使用顺序被逐出。 将其设置为 0 会禁用缓存:所有已缓存的多边形都会被逐出,之后的每个查询都会重新预处理其常量多边形。 也可以在不更改此限制的情况下,使用 SYSTEM DROP POINT IN POLYGON CACHE 查询手动清除此缓存。
此设置可在运行时修改,并会立即生效。

prefixes_deserialization_thread_pool_thread_pool_queue_size

可在 prefixes 反序列化线程池上调度的最大作业数。
值为 0 表示无限制。

prepare_system_log_tables_on_startup

如果为 true,ClickHouse 会在启动前创建所有已配置的 system.*_log 表。如果某些启动脚本依赖这些表,此设置会很有帮助。

process_query_plan_packet

此设置允许读取 QueryPlan 数据包。启用 serialize_query_plan 时,会为分布式查询发送此数据包。 默认处于禁用状态,以避免查询计划二进制反序列化中的缺陷可能引发的安全问题。 示例

processors_profile_log

processors_profile_log 系统表的相关设置。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
默认设置如下:

prometheus

暴露供 Prometheus 抓取的指标数据。 设置:
  • endpoint – prometheus server 用于抓取指标的 HTTP 端点。以 ’/’ 开头。
  • portendpoint 的端口。
  • metrics – 暴露来自 system.metrics 表的指标。
  • events – 暴露来自 system.events 表的指标。
  • asynchronous_metrics – 暴露来自 system.asynchronous_metrics 表的当前指标值。
  • errors - 暴露自上次服务器重启以来按错误代码统计的错误数量。此信息也可从 system.errors 获取。
示例
检查 (将 127.0.0.1 替换为 ClickHouse 服务器的 IP 地址或主机名) :

prometheus.keeper_metrics_only

暴露与 Keeper 相关的指标

代理

为 HTTP 和 HTTPS 请求定义代理服务器。目前 S3 存储、S3 表函数和 URL 函数支持此功能。 定义代理服务器有三种方式:
  • 环境变量
  • 代理列表
  • 远程代理解析器。
还支持使用 no_proxy 让特定 host 绕过代理服务器。 环境变量 http_proxyhttps_proxy 环境变量允许你为指定协议设置代理服务器。如果你已在系统中设置了它们,通常即可直接生效。 如果某种协议只有一个代理服务器,并且该代理服务器不会变化, 这是最简单的方法。 代理列表 这种方法允许你为某种协议指定一个或多个 代理服务器。如果定义了多个代理服务器, ClickHouse 会以轮询方式使用不同的代理, 将负载分散到各个服务器上。如果某种协议有多个 代理服务器,并且代理服务器列表不会变化, 这是最简单的方法。 配置模板
在下方选项卡中选择一个父字段以查看其子字段:
远程代理解析器 代理服务器可能会动态变化。在这种情况下,你可以定义一个解析器的端点。ClickHouse 会向该端点发送一个空的 GET 请求,远程解析器应返回代理主机。ClickHouse 将使用它按以下模板构造代理 URI:\{proxy_scheme\}://\{proxy_host\}:{proxy_port} 配置模板
在下方选项卡中选择一个父字段,以查看其子字段:
优先次序 代理设置按以下顺序确定: ClickHouse 会检查与请求协议对应的最高优先级解析器类型。如果未定义, 则会继续检查优先级次高的解析器类型,直到环境解析器为止。 这也意味着可以混合使用多种解析器类型。

remap_executable

用于使用大页重新分配机器代码 (“text”) 内存的设置。
此功能仍处于高度 Experimental 状态。
示例

replica_group_name

Replicated 数据库的副本组名称。 由 Replicated 数据库创建的集群将由同一组中的副本组成。 DDL 查询只会等待同一组中的副本。 默认为空。 示例

replicated_merge_tree

用于 ReplicatedMergeTree 表的细化调整。此设置的优先级更高。 更多信息,请参阅 MergeTreeSettings.h 头文件。 示例

restore_threads

用于执行 RESTORE 请求的最大线程数。

send_crash_reports

用于向 ClickHouse 核心开发团队发送崩溃报告的设置。 如果启用此功能,尤其是在预生产环境中,我们将非常感谢。 键: 推荐用法

series_keeper_path

Keeper 中的路径,用于存放由 generateSerialID 函数生成的自增编号。每个序列都会成为该路径下的一个节点。

ssh_server

首次连接时,主机密钥的公钥部分会写入 SSH 客户端上的 known_hosts 文件。 Host Key Configurations 默认未启用。 取消注释主机密钥配置,并提供相应 SSH key 的路径以启用这些配置: 示例:

table_engines_require_grant

如果设置为 true,用户必须先获得相应权限,才能使用特定引擎创建表,例如 GRANT TABLE ENGINE ON TinyLog to user
默认情况下,出于向后兼容考虑,使用特定表引擎创建表时会忽略该权限;不过,你可以将此项设置为 true 来更改这一行为。

tcp_ssh_port

SSH 服务器使用的端口,允许用户通过 PTY 使用嵌入式客户端以交互方式连接并执行查询。 示例:

text_log

用于记录文本消息的系统表 text_log 的设置。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
此外: 示例

thread_pool_queue_size

可调度到全局线程池中的最大作业数。增大队列大小会增加内存占用。建议将此值保持为与 max_thread_pool_size 相同。
值为 0 表示不受限制。
示例

throw_on_unknown_workload

定义当查询设置 ‘workload’ 访问未知 WORKLOAD 时的行为。
  • 如果为 true,尝试访问未知 workload 的查询会抛出 RESOURCE_ACCESS_DENIED 异常。这在 WORKLOAD 层级结构建立完成且包含 WORKLOAD default 后,可用于对所有查询强制实施资源调度。
  • 如果为 false (默认值) ,对于 ‘workload’ 设置指向未知 WORKLOAD 的查询,将提供不受限制且不进行资源调度的访问。这在 WORKLOAD default 添加之前、配置 WORKLOAD 层级结构期间非常重要。
示例
另请参阅

时区

服务器的时区。 以 UTC 时区或地理位置的 IANA 标识符指定 (例如 Africa/Abidjan) 。 当 日期时间 字段以文本格式输出 (打印到屏幕上或写入文件中) 时,以及从字符串获取 日期时间 时,时区是 String 和 日期时间 格式之间转换所必需的。此外,如果处理日期和时间的函数未在输入参数中接收到时区,也会使用该时区。 示例
另请参阅

trace_log

trace_log 系统表的运行设置。 以下设置可通过子标签配置: 此外,以下服务器级设置控制所有系统日志表的默认刷写策略:
默认服务器配置文件 config.xml 包含以下设置部分:

url_scheme_mappers

用于将缩写或符号形式的 URL 前缀转换为完整 URL 的配置。 示例:

validate_tcp_client_information

确定在接收到 Query 数据包时,是否启用对客户端信息的验证。 默认情况下,该设置为 false

wait_dictionaries_load_at_startup

此设置用于指定当 dictionaries_lazy_loadfalse 时的行为。 (如果 dictionaries_lazy_loadtrue,则此设置不起任何作用。) 如果 wait_dictionaries_load_at_startupfalse,则 server 会在启动时开始加载所有字典,并在加载过程中并行接收 connections。 当某个字典首次在查询中使用时,如果该字典尚未加载完成,则该查询会一直等待,直到字典加载完成。 将 wait_dictionaries_load_at_startup 设置为 false 可以让 ClickHouse 启动得更快,但某些查询的执行速度可能会变慢 (因为它们需要等待某些字典加载完成) 。 如果 wait_dictionaries_load_at_startuptrue,则 server 会在启动时等待, 直到所有字典都完成加载 (无论成功与否) 后,才接收任何 connections。 示例

webassembly_udf_engine

用于执行 WebAssembly UDF 的引擎。支持的取值为 ‘wasmtime’ 和 ‘wasmedge’。

webterminal_allowed_origins

允许打开 /webterminal WebSocket 会话的完整来源 (scheme + host + 可选 port) 列表,多个值以逗号分隔。为空时,将严格执行同源策略 (Origin 必须与请求的 scheme、host 和 port 匹配) 。如果部署位于执行 TLS 终止的反向代理之后,且浏览器使用的是 https,但 request.isSecure()false,请设置此项。示例:https://example.com,https://app.example.com:8443
最后修改于 2026年7月23日