OS Manuals

/usr/bin/clickhouse-benchmark

Altinity Stable Build for ClickHouse - production-ready releases with extended support, rigorous testing, and 100% compatibility with upstream ClickHouse.

From altinity-clickhouse-23.8 23.8.16.43-r3 (enterprise-packages), captured 2026-11-08 by running clickhouse-benchmark --help (exit 1). permalink

Usage: /usr/bin/clickhouse-benchmark [options] < queries.txt
Allowed options:
  --help            produce help message
  -q [ --query ] arg
                    query to execute
  -c [ --concurrency ] arg (=1)
                    number of parallel queries
  -d [ --delay ] arg (=1)
                    delay between intermediate reports in
                    seconds (set 0 to disable reports)
  --stage arg (=complete)
                    request query processing up to
                    specified stage: complete,fetch_columns
                    ,with_mergeable_state,with_mergeable_st
                    ate_after_aggregation,with_mergeable_st
                    ate_after_aggregation_and_limit
  -i [ --iterations ] arg (=0)
                    amount of queries to be executed
  -t [ --timelimit ] arg (=0)
                    stop launch of queries after specified
                    time limit
  -r [ --randomize ]
                    randomize order of execution
  -h [ --host ] arg list of hosts
  --port arg        list of ports
  --roundrobin      Instead of comparing queries for
                    different --host/--port just pick one
                    random --host/--port for every query
                    and send query to it.
  --cumulative      prints cumulative data instead of data
                    per interval
  -s [ --secure ]   Use TLS connection
  -u [ --user ] arg (=default)
  --password arg
  --quota_key arg
  --database arg (=default)
  --stacktrace      print stack traces of exceptions
  --confidence arg (=5)
                    set the level of confidence for T-test
                    [0=80%, 1=90%, 2=95%, 3=98%, 4=99%,
                    5=99.5%(default)
  --query_id arg
  --max-consecutive-errors arg (=0)
                    set number of allowed consecutive
                    errors
  --ignore-error    continue testing even if a query fails
  --reconnect       establish new connection for every
                    query
  --client-side-time
                    display the time including network
                    communication instead of server-side
                    time; note that for server versions
                    before 22.8 we always display
                    client-side time
  --dialect arg     Which dialect will be used to parse
                    query
  --min_compress_block_size arg
                    The actual size of the block to
                    compress, if the uncompressed data less
                    than max_compress_block_size is no less
                    than this value and no less than the
                    volume of data for one mark.
  --max_compress_block_size arg
                    The maximum size of blocks of
                    uncompressed data before compressing
                    for writing to a table.
  --max_block_size arg
                    Maximum block size for reading
  --max_insert_block_size arg
                    The maximum block size for insertion,
                    if we control the creation of blocks
                    for insertion.
  --min_insert_block_size_rows arg
                    Squash blocks passed to INSERT query to
                    specified size in rows, if blocks are
                    not big enough.
  --min_insert_block_size_bytes arg
                    Squash blocks passed to INSERT query to
                    specified size in bytes, if blocks are
                    not big enough.
  --min_insert_block_size_rows_for_materialized_views arg
                    Like min_insert_block_size_rows, but
                    applied only during pushing to
                    MATERIALIZED VIEW (default:
                    min_insert_block_size_rows)
  --min_insert_block_size_bytes_for_materialized_views arg
                    Like min_insert_block_size_bytes, but
                    applied only during pushing to
                    MATERIALIZED VIEW (default:
                    min_insert_block_size_bytes)
  --max_joined_block_size_rows arg
                    Maximum block size for JOIN result (if
                    join algorithm supports it). 0 means
                    unlimited.
  --max_insert_threads arg
                    The maximum number of threads to
                    execute the INSERT SELECT query. Values
                    0 or 1 means that INSERT SELECT is not
                    run in parallel. Higher values will
                    lead to higher memory usage. Parallel
                    INSERT SELECT has effect only if the
                    SELECT part is run on parallel, see
                    'max_threads' setting.
  --max_insert_delayed_streams_for_parallel_write arg
                    The maximum number of streams (columns)
                    to delay final part flush. Default -
                    auto (1000 in case of underlying
                    storage supports parallel write, for
                    example S3 and disabled otherwise)
  --max_final_threads arg
                    The maximum number of threads to read
                    from table with FINAL.
  --max_threads_for_indexes arg
                    The maximum number of threads process
                    indices.
  --max_threads arg The maximum number of threads to
                    execute the request. By default, it is
                    determined automatically.
  --use_concurrency_control arg
                    Respect the server's concurrency
                    control (see the `concurrent_threads_so
                    ft_limit_num` and `concurrent_threads_s
                    oft_limit_ratio_to_cores` global server
                    settings). If disabled, it allows using
                    a larger number of threads even if the
                    server is overloaded (not recommended
                    for normal usage, and needed mostly for
                    tests).
  --max_download_threads arg
                    The maximum number of threads to
                    download data (e.g. for URL engine).
  --max_download_buffer_size arg
                    The maximal size of buffer for parallel
                    downloading (e.g. for URL engine) per
                    each thread.
  --max_read_buffer_size arg
                    The maximum size of the buffer to read
                    from the filesystem.
  --max_read_buffer_size_local_fs arg
                    The maximum size of the buffer to read
                    from local filesystem. If set to 0 then
                    max_read_buffer_size will be used.
  --max_read_buffer_size_remote_fs arg
                    The maximum size of the buffer to read
                    from remote filesystem. If set to 0
                    then max_read_buffer_size will be used.
  --max_distributed_connections arg
                    The maximum number of connections for
                    distributed processing of one query
                    (should be greater than max_threads).
  --max_query_size arg
                    The maximum number of bytes of a query
                    string parsed by the SQL parser. Data
                    in the VALUES clause of INSERT queries
                    is processed by a separate stream
                    parser (that consumes O(1) RAM) and not
                    affected by this restriction.
  --interactive_delay arg
                    The interval in microseconds to check
                    if the request is cancelled, and to
                    send progress info.
  --connect_timeout arg
                    Connection timeout if there are no
                    replicas.
  --handshake_timeout_ms arg
                    Timeout for receiving HELLO packet from
                    replicas.
  --connect_timeout_with_failover_ms arg
                    Connection timeout for selecting first
                    healthy replica.
  --connect_timeout_with_failover_secure_ms arg
                    Connection timeout for selecting first
                    healthy replica (for secure
                    connections).
  --receive_timeout arg
                    Timeout for receiving data from
                    network, in seconds. If no bytes were
                    received in this interval, exception is
                    thrown. If you set this setting on
                    client, the 'send_timeout' for the
                    socket will be also set on the
                    corresponding connection end on the
                    server.
  --send_timeout arg
                    Timeout for sending data to network, in
                    seconds. If client needs to sent some
                    data, but it did not able to send any
                    bytes in this interval, exception is
                    thrown. If you set this setting on
                    client, the 'receive_timeout' for the
                    socket will be also set on the
                    corresponding connection end on the
                    server.
  --tcp_keep_alive_timeout arg
                    The time in seconds the connection
                    needs to remain idle before TCP starts
                    sending keepalive probes
  --hedged_connection_timeout_ms arg
                    Connection timeout for establishing
                    connection with replica for Hedged
                    requests
  --receive_data_timeout_ms arg
                    Connection timeout for receiving first
                    packet of data or packet with positive
                    progress from replica
  --use_hedged_requests arg
                    Use hedged requests for distributed
                    queries
  --allow_changing_replica_until_first_data_packet arg
                    Allow HedgedConnections to change
                    replica until receiving first data
                    packet
  --queue_max_wait_ms arg
                    The wait time in the request queue, if
                    the number of concurrent requests
                    exceeds the maximum.
  --connection_pool_max_wait_ms arg
                    The wait time when the connection pool
                    is full.
  --replace_running_query_max_wait_ms arg
                    The wait time for running query with
                    the same query_id to finish when
                    setting 'replace_running_query' is
                    active.
  --kafka_max_wait_ms arg
                    The wait time for reading from Kafka
                    before retry.
  --rabbitmq_max_wait_ms arg
                    The wait time for reading from RabbitMQ
                    before retry.
  --poll_interval arg
                    Block at the query wait loop on the
                    server for the specified number of
                    seconds.
  --idle_connection_timeout arg
                    Close idle TCP connections after
                    specified number of seconds.
  --distributed_connections_pool_size arg
                    Maximum number of connections with one
                    remote server in the pool.
  --connections_with_failover_max_tries arg
                    The maximum number of attempts to
                    connect to replicas.
  --s3_strict_upload_part_size arg
                    The exact size of part to upload during
                    multipart upload to S3 (some
                    implementations does not supports
                    variable size parts).
  --s3_min_upload_part_size arg
                    The minimum size of part to upload
                    during multipart upload to S3.
  --s3_max_upload_part_size arg
                    The maximum size of part to upload
                    during multipart upload to S3.
  --s3_upload_part_size_multiply_factor arg
                    Multiply s3_min_upload_part_size by
                    this factor each time
                    s3_multiply_parts_count_threshold parts
                    were uploaded from a single write to
                    S3.
  --s3_upload_part_size_multiply_parts_count_threshold arg
                    Each time this number of parts was
                    uploaded to S3, s3_min_upload_part_size
                    is multiplied by s3_upload_part_size_mu
                    ltiply_factor.
  --s3_max_inflight_parts_for_one_file arg
                    The maximum number of a concurrent
                    loaded parts in multipart upload
                    request. 0 means unlimited. You
  --s3_max_single_part_upload_size arg
                    The maximum size of object to upload
                    using singlepart upload to S3.
  --azure_max_single_part_upload_size arg
                    The maximum size of object to upload
                    using singlepart upload to Azure blob
                    storage.
  --s3_max_single_read_retries arg
                    The maximum number of retries during
                    single S3 read.
  --azure_max_single_read_retries arg
                    The maximum number of retries during
                    single Azure blob storage read.
  --s3_max_unexpected_write_error_retries arg
                    The maximum number of retries in case
                    of unexpected errors during S3 write.
  --s3_max_redirects arg
                    Max number of S3 redirects hops
                    allowed.
  --s3_max_connections arg
                    The maximum number of connections per
                    server.
  --s3_max_get_rps arg
                    Limit on S3 GET request per second rate
                    before throttling. Zero means
                    unlimited.
  --s3_max_get_burst arg
                    Max number of requests that can be
                    issued simultaneously before hitting
                    request per second limit. By default
                    (0) equals to `s3_max_get_rps`
  --s3_max_put_rps arg
                    Limit on S3 PUT request per second rate
                    before throttling. Zero means
                    unlimited.
  --s3_max_put_burst arg
                    Max number of requests that can be
                    issued simultaneously before hitting
                    request per second limit. By default
                    (0) equals to `s3_max_put_rps`
  --s3_list_object_keys_size arg
                    Maximum number of files that could be
                    returned in batch by ListObject request
  --azure_list_object_keys_size arg
                    Maximum number of files that could be
                    returned in batch by ListObject request
  --s3_truncate_on_insert arg
                    Enables or disables truncate before
                    insert in s3 engine tables.
  --azure_truncate_on_insert arg
                    Enables or disables truncate before
                    insert in azure engine tables.
  --s3_create_new_file_on_insert arg
                    Enables or disables creating a new file
                    on each insert in s3 engine tables
  --s3_skip_empty_files arg
                    Allow to skip empty files in s3 table
                    engine
  --azure_create_new_file_on_insert arg
                    Enables or disables creating a new file
                    on each insert in azure engine tables
  --s3_check_objects_after_upload arg
                    Check each uploaded object to s3 with
                    head request to be sure that upload was
                    successful
  --s3_allow_parallel_part_upload arg
                    Use multiple threads for s3 multipart
                    upload. It may lead to slightly higher
                    memory usage
  --s3_throw_on_zero_files_match arg
                    Throw an error, when ListObjects
                    request cannot match any files
  --s3_retry_attempts arg
                    Setting for Aws::Client::RetryStrategy,
                    Aws::Client does retries itself, 0
                    means no retries
  --s3_request_timeout_ms arg
                    Idleness timeout for sending and
                    receiving data to/from S3. Fail if a
                    single TCP read or write call blocks
                    for this long.
  --enable_s3_requests_logging arg
                    Enable very explicit logging of S3
                    requests. Makes sense for debug only.
  --s3queue_default_zookeeper_path arg
                    Default zookeeper path prefix for
                    S3Queue engine
  --hdfs_replication arg
                    The actual number of replications can
                    be specified when the hdfs file is
                    created.
  --hdfs_truncate_on_insert arg
                    Enables or disables truncate before
                    insert in s3 engine tables
  --hdfs_create_new_file_on_insert arg
                    Enables or disables creating a new file
                    on each insert in hdfs engine tables
  --hdfs_skip_empty_files arg
                    Allow to skip empty files in hdfs table
                    engine
  --hsts_max_age arg
                    Expired time for hsts. 0 means disable
                    HSTS.
  --extremes arg    Calculate minimums and maximums of the
                    result columns. They can be output in
                    JSON-formats.
  --use_uncompressed_cache arg
                    Whether to use the cache of
                    uncompressed blocks.
  --replace_running_query arg
                    Whether the running request should be
                    canceled with the same id as the new
                    one.
  --max_remote_read_network_bandwidth arg
                    The maximum speed of data exchange over
                    the network in bytes per second for
                    read.
  --max_remote_write_network_bandwidth arg
                    The maximum speed of data exchange over
                    the network in bytes per second for
                    write.
  --max_local_read_bandwidth arg
                    The maximum speed of local reads in
                    bytes per second.
  --max_local_write_bandwidth arg
                    The maximum speed of local writes in
                    bytes per second.
  --stream_like_engine_allow_direct_select arg
                    Allow direct SELECT query for Kafka,
                    RabbitMQ, FileLog, Redis Streams and
                    NATS engines. In case there are
                    attached materialized views, SELECT
                    query is not allowed even if this
                    setting is enabled.
  --stream_like_engine_insert_queue arg
                    When stream like engine reads from
                    multiple queues, user will need to
                    select one queue to insert into when
                    writing. Used by Redis Streams and
                    NATS.
  --distributed_directory_monitor_sleep_time_ms arg
                    Sleep time for StorageDistributed
                    DirectoryMonitors, in case of any
                    errors delay grows exponentially.
  --distributed_directory_monitor_max_sleep_time_ms arg
                    Maximum sleep time for
                    StorageDistributed DirectoryMonitors,
                    it limits exponential growth too.
  --distributed_directory_monitor_batch_inserts arg
                    Should StorageDistributed
                    DirectoryMonitors try to batch
                    individual inserts into bigger ones.
  --distributed_directory_monitor_split_batch_on_failure arg
                    Should StorageDistributed
                    DirectoryMonitors try to split batch
                    into smaller in case of failures.
  --optimize_move_to_prewhere arg
                    Allows disabling WHERE to PREWHERE
                    optimization in SELECT queries from
                    MergeTree.
  --optimize_move_to_prewhere_if_final arg
                    If query has `FINAL`, the optimization
                    `move_to_prewhere` is not always
                    correct and it is enabled only if both
                    settings `optimize_move_to_prewhere`
                    and `optimize_move_to_prewhere_if_final
                    ` are turned on
  --move_all_conditions_to_prewhere arg
                    Move all viable conditions from WHERE
                    to PREWHERE
  --enable_multiple_prewhere_read_steps arg
                    Move more conditions from WHERE to
                    PREWHERE and do reads from disk and
                    filtering in multiple steps if there
                    are multiple conditions combined with
                    AND
  --move_primary_key_columns_to_end_of_prewhere arg
                    Move PREWHERE conditions containing
                    primary key columns to the end of AND
                    chain. It is likely that these
                    conditions are taken into account
                    during primary key analysis and thus
                    will not contribute a lot to PREWHERE
                    filtering.
  --alter_sync arg  Wait for actions to manipulate the
                    partitions. 0 - do not wait, 1 - wait
                    for execution only of itself, 2 - wait
                    for everyone.
  --replication_alter_partitions_sync arg
                    Wait for actions to manipulate the
                    partitions. 0 - do not wait, 1 - wait
                    for execution only of itself, 2 - wait
                    for everyone.
  --replication_wait_for_inactive_replica_timeout arg
                    Wait for inactive replica to execute
                    ALTER/OPTIMIZE. Time in seconds, 0 - do
                    not wait, negative - wait for unlimited
                    time.
  --load_balancing arg
                    Which replicas (among healthy replicas)
                    to preferably send a query to (on the
                    first attempt) for distributed
                    processing.
  --load_balancing_first_offset arg
                    Which replica to preferably send a
                    query when FIRST_OR_RANDOM load
                    balancing strategy is used.
  --totals_mode arg How to calculate TOTALS when HAVING is
                    present, as well as when
                    max_rows_to_group_by and
                    group_by_overflow_mode = ‘any’ are
                    present.
  --totals_auto_threshold arg
                    The threshold for totals_mode = 'auto'.
  --allow_suspicious_low_cardinality_types arg
                    In CREATE TABLE statement allows
                    specifying LowCardinality modifier for
                    types of small fixed size (8 or less).
                    Enabling this may increase merge times
                    and memory consumption.
  --allow_suspicious_fixed_string_types arg
                    In CREATE TABLE statement allows
                    creating columns of type FixedString(n)
                    with n > 256. FixedString with length
                    >= 256 is suspicious and most likely
                    indicates misusage
  --allow_suspicious_indices arg
                    Reject primary/secondary indexes and
                    sorting keys with identical expressions
  --compile_expressions arg
                    Compile some scalar functions and
                    operators to native code.
  --min_count_to_compile_expression arg
                    The number of identical expressions
                    before they are JIT-compiled
  --compile_aggregate_expressions arg
                    Compile aggregate functions to native
                    code. This feature has a bug and should
                    not be used.
  --min_count_to_compile_aggregate_expression arg
                    The number of identical aggregate
                    expressions before they are
                    JIT-compiled
  --compile_sort_description arg
                    Compile sort description to native
                    code.
  --min_count_to_compile_sort_description arg
                    The number of identical sort
                    descriptions before they are
                    JIT-compiled
  --group_by_two_level_threshold arg
                    From what number of keys, a two-level
                    aggregation starts. 0 - the threshold
                    is not set.
  --group_by_two_level_threshold_bytes arg
                    From what size of the aggregation state
                    in bytes, a two-level aggregation
                    begins to be used. 0 - the threshold is
                    not set. Two-level aggregation is used
                    when at least one of the thresholds is
                    triggered.
  --distributed_aggregation_memory_efficient arg
                    Is the memory-saving mode of
                    distributed aggregation enabled.
  --aggregation_memory_efficient_merge_threads arg
                    Number of threads to use for merge
                    intermediate aggregation results in
                    memory efficient mode. When bigger,
                    then more memory is consumed. 0 means -
                    same as 'max_threads'.
  --enable_memory_bound_merging_of_aggregation_results arg
                    Enable memory bound merging strategy
                    for aggregation.
  --enable_positional_arguments arg
                    Enable positional arguments in ORDER
                    BY, GROUP BY and LIMIT BY
  --enable_extended_results_for_datetime_functions arg
                    Enable date functions like
                    toLastDayOfMonth return Date32 results
                    (instead of Date results) for
                    Date32/DateTime64 arguments.
  --allow_nonconst_timezone_arguments arg
                    Allow non-const timezone arguments in
                    certain time-related functions like
                    toTimeZone(), fromUnixTimestamp*(),
                    snowflakeToDateTime*()
  --group_by_use_nulls arg
                    Treat columns mentioned in ROLLUP, CUBE
                    or GROUPING SETS as Nullable
  --max_parallel_replicas arg
                    The maximum number of replicas of each
                    shard used when the query is executed.
                    For consistency (to get different parts
                    of the same partition), this option
                    only works for the specified sampling
                    key. The lag of the replicas is not
                    controlled.
  --parallel_replicas_count arg
                    This is internal setting that should
                    not be used directly and represents an
                    implementation detail of the 'parallel
                    replicas' mode. This setting will be
                    automatically set up by the initiator
                    server for distributed queries to the
                    number of parallel replicas
                    participating in query processing.
  --parallel_replica_offset arg
                    This is internal setting that should
                    not be used directly and represents an
                    implementation detail of the 'parallel
                    replicas' mode. This setting will be
                    automatically set up by the initiator
                    server for distributed queries to the
                    index of the replica participating in
                    query processing among parallel
                    replicas.
  --parallel_replicas_custom_key arg
                    Custom key assigning work to replicas
                    when parallel replicas are used.
  --parallel_replicas_custom_key_filter_type arg
                    Type of filter to use with custom key
                    for parallel replicas. default - use
                    modulo operation on the custom key,
                    range - use range filter on custom key
                    using all possible values for the value
                    type of custom key.
  --cluster_for_parallel_replicas arg
                    Cluster for a shard in which current
                    server is located
  --allow_experimental_parallel_reading_from_replicas arg
                    Use all the replicas from a shard for
                    SELECT query execution. Reading is
                    parallelized and coordinated
                    dynamically. 0 - disabled, 1 - enabled,
                    silently disable them in case of
                    failure, 2 - enabled, throw an
                    exception in case of failure
  --parallel_replicas_single_task_marks_count_multiplier arg
                    A multiplier which will be added during
                    calculation for minimal number of marks
                    to retrieve from coordinator. This will
                    be applied only for remote replicas.
  --parallel_replicas_for_non_replicated_merge_tree arg
                    If true, ClickHouse will use parallel
                    replicas algorithm also for
                    non-replicated MergeTree tables
  --parallel_replicas_min_number_of_granules_to_enable arg
                    If the number of marks to read is less
                    than the value of this setting -
                    parallel replicas will be disabled
  --skip_unavailable_shards arg
                    If true, ClickHouse silently skips
                    unavailable shards and nodes
                    unresolvable through DNS. Shard is
                    marked as unavailable when none of the
                    replicas can be reached.
  --parallel_distributed_insert_select arg
                    Process distributed INSERT SELECT query
                    in the same cluster on local tables on
                    every shard; if set to 1 - SELECT is
                    executed on each shard; if set to 2 -
                    SELECT and INSERT are executed on each
                    shard
  --distributed_group_by_no_merge arg
                    If 1, Do not merge aggregation states
                    from different servers for distributed
                    queries (shards will process query up
                    to the Complete stage, initiator just
                    proxies the data from the shards). If 2
                    the initiator will apply ORDER BY and
                    LIMIT stages (it is not in case when
                    shard process query up to the Complete
                    stage)
  --distributed_push_down_limit arg
                    If 1, LIMIT will be applied on each
                    shard separately. Usually you don't
                    need to use it, since this will be done
                    automatically if it is possible, i.e.
                    for simple query SELECT FROM LIMIT.
  --optimize_distributed_group_by_sharding_key arg
                    Optimize GROUP BY sharding_key queries
                    (by avoiding costly aggregation on the
                    initiator server).
  --optimize_skip_unused_shards_limit arg
                    Limit for number of sharding key
                    values, turns off optimize_skip_unused_
                    shards if the limit is reached
  --optimize_skip_unused_shards arg
                    Assumes that data is distributed by
                    sharding_key. Optimization to skip
                    unused shards if SELECT query filters
                    by sharding_key.
  --optimize_skip_unused_shards_rewrite_in arg
                    Rewrite IN in query for remote shards
                    to exclude values that does not belong
                    to the shard (requires
                    optimize_skip_unused_shards)
  --allow_nondeterministic_optimize_skip_unused_shards arg
                    Allow non-deterministic functions
                    (includes dictGet) in sharding_key for
                    optimize_skip_unused_shards
  --force_optimize_skip_unused_shards arg
                    Throw an exception if unused shards
                    cannot be skipped (1 - throw only if
                    the table has the sharding key, 2 -
                    always throw.
  --optimize_skip_unused_shards_nesting arg
                    Same as optimize_skip_unused_shards,
                    but accept nesting level until which it
                    will work.
  --force_optimize_skip_unused_shards_nesting arg
                    Same as force_optimize_skip_unused_shar
                    ds, but accept nesting level until
                    which it will work.
  --input_format_parallel_parsing arg
                    Enable parallel parsing for some data
                    formats.
  --min_chunk_bytes_for_parallel_parsing arg
                    The minimum chunk size in bytes, which
                    each thread will parse in parallel.
  --output_format_parallel_formatting arg
                    Enable parallel formatting for some
                    data formats.
  --merge_tree_min_rows_for_concurrent_read arg
                    If at least as many lines are read from
                    one file, the reading can be
                    parallelized.
  --merge_tree_min_bytes_for_concurrent_read arg
                    If at least as many bytes are read from
                    one file, the reading can be
                    parallelized.
  --merge_tree_min_rows_for_seek arg
                    You can skip reading more than that
                    number of rows at the price of one seek
                    per file.
  --merge_tree_min_bytes_for_seek arg
                    You can skip reading more than that
                    number of bytes at the price of one
                    seek per file.
  --merge_tree_coarse_index_granularity arg
                    If the index segment can contain the
                    required keys, divide it into as many
                    parts and recursively check them.
  --merge_tree_max_rows_to_use_cache arg
                    The maximum number of rows per request,
                    to use the cache of uncompressed data.
                    If the request is large, the cache is
                    not used. (For large queries not to
                    flush out the cache.)
  --merge_tree_max_bytes_to_use_cache arg
                    The maximum number of bytes per
                    request, to use the cache of
                    uncompressed data. If the request is
                    large, the cache is not used. (For
                    large queries not to flush out the
                    cache.)
  --do_not_merge_across_partitions_select_final arg
                    Merge parts only in one partition in
                    select final
  --allow_experimental_inverted_index arg
                    If it is set to true, allow to use
                    experimental inverted index.
  --mysql_max_rows_to_insert arg
                    The maximum number of rows in MySQL
                    batch insertion of the MySQL storage
                    engine
  --use_mysql_types_in_show_columns arg
                    Use MySQL converted types when
                    connected via MySQL compatibility for
                    show columns query
  --optimize_min_equality_disjunction_chain_length arg
                    The minimum length of the expression
                    `expr = x1 OR ... expr = xN` for
                    optimization
  --min_bytes_to_use_direct_io arg
                    The minimum number of bytes for reading
                    the data with O_DIRECT option during
                    SELECT queries execution. 0 - disabled.
  --min_bytes_to_use_mmap_io arg
                    The minimum number of bytes for reading
                    the data with mmap option during SELECT
                    queries execution. 0 - disabled.
  --checksum_on_read arg
                    Validate checksums on reading. It is
                    enabled by default and should be always
                    enabled in production. Please do not
                    expect any benefits in disabling this
                    setting. It may only be used for
                    experiments and benchmarks. The setting
                    only applicable for tables of MergeTree
                    family. Checksums are always validated
                    for other table engines and when
                    receiving data over network.
  --force_index_by_date arg
                    Throw an exception if there is a
                    partition key in a table, and it is not
                    used.
  --force_primary_key arg
                    Throw an exception if there is primary
                    key in a table, and it is not used.
  --use_skip_indexes arg
                    Use data skipping indexes during query
                    execution.
  --use_skip_indexes_if_final arg
                    If query has FINAL, then skipping data
                    based on indexes may produce incorrect
                    result, hence disabled by default.
  --ignore_data_skipping_indices arg
                    Comma separated list of strings or
                    literals with the name of the data
                    skipping indices that should be
                    excluded during query execution.
  --force_data_skipping_indices arg
                    Comma separated list of strings or
                    literals with the name of the data
                    skipping indices that should be used
                    during query execution, otherwise an
                    exception will be thrown.
  --max_streams_to_max_threads_ratio arg
                    Allows you to use more sources than the
                    number of threads - to more evenly
                    distribute work across threads. It is
                    assumed that this is a temporary
                    solution, since it will be possible in
                    the future to make the number of
                    sources equal to the number of threads,
                    but for each source to dynamically
                    select available work for itself.
  --max_streams_multiplier_for_merge_tables arg
                    Ask more streams when reading from
                    Merge table. Streams will be spread
                    across tables that Merge table will
                    use. This allows more even distribution
                    of work across threads and especially
                    helpful when merged tables differ in
                    size.
  --network_compression_method arg
                    Allows you to select the method of data
                    compression when writing.
  --network_zstd_compression_level arg
                    Allows you to select the level of ZSTD
                    compression.
  --zstd_window_log_max arg
                    Allows you to select the max window log
                    of ZSTD (it will not be used for
                    MergeTree family)
  --priority arg    Priority of the query. 1 - the highest,
                    higher value - lower priority; 0 - do
                    not use priorities.
  --os_thread_priority arg
                    If non zero - set corresponding 'nice'
                    value for query processing threads. Can
                    be used to adjust query priority for OS
                    scheduler.
  --log_queries arg Log requests and write the log to the
                    system table.
  --log_formatted_queries arg
                    Log formatted queries and write the log
                    to the system table.
  --log_queries_min_type arg
                    Minimal type in query_log to log,
                    possible values (from low to high):
                    QUERY_START, QUERY_FINISH,
                    EXCEPTION_BEFORE_START,
                    EXCEPTION_WHILE_PROCESSING.
  --log_queries_min_query_duration_ms arg
                    Minimal time for the query to run, to
                    get to the query_log/query_thread_log/q
                    uery_views_log.
  --log_queries_cut_to_length arg
                    If query length is greater than
                    specified threshold (in bytes), then
                    cut query when writing to query log.
                    Also limit length of printed query in
                    ordinary text log.
  --log_queries_probability arg
                    Log queries with the specified
                    probabality.
  --log_processors_profiles arg
                    Log Processors profile events.
  --distributed_product_mode arg
                    How are distributed subqueries
                    performed inside IN or JOIN sections?
  --max_concurrent_queries_for_all_users arg
                    The maximum number of concurrent
                    requests for all users.
  --max_concurrent_queries_for_user arg
                    The maximum number of concurrent
                    requests per user.
  --insert_deduplicate arg
                    For INSERT queries in the replicated
                    table, specifies that deduplication of
                    insertings blocks should be performed
  --async_insert_deduplicate arg
                    For async INSERT queries in the
                    replicated table, specifies that
                    deduplication of insertings blocks
                    should be performed
  --insert_quorum arg
                    For INSERT queries in the replicated
                    table, wait writing for the specified
                    number of replicas and linearize the
                    addition of the data. 0 - disabled,
                    'auto' - use majority
  --insert_quorum_timeout arg
                    If the quorum of replicas did not meet
                    in specified time (in milliseconds),
                    exception will be thrown and insertion
                    is aborted.
  --insert_quorum_parallel arg
                    For quorum INSERT queries - enable to
                    make parallel inserts without
                    linearizability
  --select_sequential_consistency arg
                    For SELECT queries from the replicated
                    table, throw an exception if the
                    replica does not have a chunk written
                    with the quorum; do not read the parts
                    that have not yet been written with the
                    quorum.
  --table_function_remote_max_addresses arg
                    The maximum number of different shards
                    and the maximum number of replicas of
                    one shard in the `remote` function.
  --read_backoff_min_latency_ms arg
                    Setting to reduce the number of threads
                    in case of slow reads. Pay attention
                    only to reads that took at least that
                    much time.
  --read_backoff_max_throughput arg
                    Settings to reduce the number of
                    threads in case of slow reads. Count
                    events when the read bandwidth is less
                    than that many bytes per second.
  --read_backoff_min_interval_between_events_ms arg
                    Settings to reduce the number of
                    threads in case of slow reads. Do not
                    pay attention to the event, if the
                    previous one has passed less than a
                    certain amount of time.
  --read_backoff_min_events arg
                    Settings to reduce the number of
                    threads in case of slow reads. The
                    number of events after which the number
                    of threads will be reduced.
  --read_backoff_min_concurrency arg
                    Settings to try keeping the minimal
                    number of threads in case of slow
                    reads.
  --memory_tracker_fault_probability arg
                    For testing of `exception safety` -
                    throw an exception every time you
                    allocate memory with the specified
                    probability.
  --enable_http_compression arg
                    Compress the result if the client over
                    HTTP said that it understands data
                    compressed by gzip, deflate, zstd, br,
                    lz4, bz2, xz.
  --http_zlib_compression_level arg
                    Compression level - used if the client
                    on HTTP said that it understands data
                    compressed by gzip or deflate.
  --http_native_compression_disable_checksumming_on_decompress arg
                    If you uncompress the POST data from
                    the client compressed by the native
                    format, do not check the checksum.
  --count_distinct_implementation arg
                    What aggregate function to use for
                    implementation of count(DISTINCT ...)
  --add_http_cors_header arg
                    Write add http CORS header.
  --max_http_get_redirects arg
                    Max number of http GET redirects hops
                    allowed. Ensures additional security
                    measures are in place to prevent a
                    malicious server to redirect your
                    requests to unexpected services.

                    It is the case when an external server
                    redirects to another address, but that
                    address appears to be internal to the
                    company's infrastructure, and by
                    sending an HTTP request to an internal
                    server, you could request an internal
                    API from the internal network,
                    bypassing the auth, or even query other
                    services, such as Redis or Memcached.
                    When you don't have an internal
                    infrastructure (including something
                    running on your localhost), or you
                    trust the server, it is safe to allow
                    redirects. Although keep in mind, that
                    if the URL uses HTTP instead of HTTPS,
                    and you will have to trust not only the
                    remote server but also your ISP and
                    every network in the middle.
  --use_client_time_zone arg
                    Use client timezone for interpreting
                    DateTime string values, instead of
                    adopting server timezone.
  --send_progress_in_http_headers arg
                    Send progress notifications using
                    X-ClickHouse-Progress headers. Some
                    clients do not support high amount of
                    HTTP headers (Python requests in
                    particular), so it is disabled by
                    default.
  --http_headers_progress_interval_ms arg
                    Do not send HTTP headers
                    X-ClickHouse-Progress more frequently
                    than at each specified interval.
  --http_wait_end_of_query arg
                    Enable HTTP response buffering on the
                    server-side.
  --http_write_exception_in_output_format arg
                    Write exception in output format to
                    produce valid output. Works with JSON
                    and XML formats.
  --http_response_buffer_size arg
                    The number of bytes to buffer in the
                    server memory before sending a HTTP
                    response to the client or flushing to
                    disk (when http_wait_end_of_query is
                    enabled).
  --fsync_metadata arg
                    Do fsync after changing metadata for
                    tables and databases (.sql files).
                    Could be disabled in case of poor
                    latency on server with high load of DDL
                    queries and high load of disk
                    subsystem.
  --join_use_nulls arg
                    Use NULLs for non-joined rows of outer
                    JOINs for types that can be inside
                    Nullable. If false, use default value
                    of corresponding columns data type.
  --join_default_strictness arg
                    Set default strictness in JOIN query.
                    Possible values: empty string, 'ANY',
                    'ALL'. If empty, query without
                    strictness will throw exception.
  --any_join_distinct_right_table_keys arg
                    Enable old ANY JOIN logic with
                    many-to-one left-to-right table keys
                    mapping for all ANY JOINs. It leads to
                    confusing not equal results for 't1 ANY
                    LEFT JOIN t2' and 't2 ANY RIGHT JOIN
                    t1'. ANY RIGHT JOIN needs one-to-many
                    keys mapping to be consistent with LEFT
                    one.
  --single_join_prefer_left_table arg
                    For single JOIN in case of identifier
                    ambiguity prefer left table
  --preferred_block_size_bytes arg
                    This setting adjusts the data block
                    size for query processing and
                    represents additional fine tune to the
                    more rough 'max_block_size' setting. If
                    the columns are large and with
                    'max_block_size' rows the block size is
                    likely to be larger than the specified
                    amount of bytes, its size will be
                    lowered for better CPU cache locality.
  --max_replica_delay_for_distributed_queries arg
                    If set, distributed queries of
                    Replicated tables will choose servers
                    with replication delay in seconds less
                    than the specified value (not
                    inclusive). Zero means do not take
                    delay into account.
  --fallback_to_stale_replicas_for_distributed_queries arg
                    Suppose max_replica_delay_for_distribut
                    ed_queries is set and all replicas for
                    the queried table are stale. If this
                    setting is enabled, the query will be
                    performed anyway, otherwise the error
                    will be reported.
  --preferred_max_column_in_block_size_bytes arg
                    Limit on max column size in block while
                    reading. Helps to decrease cache misses
                    count. Should be close to L2 cache
                    size.
  --parts_to_delay_insert arg
                    If the destination table contains at
                    least that many active parts in a
                    single partition, artificially slow
                    down insert into table.
  --parts_to_throw_insert arg
                    If more than this number active parts
                    in a single partition of the
                    destination table, throw 'Too many
                    parts ...' exception.
  --number_of_mutations_to_delay arg
                    If the mutated table contains at least
                    that many unfinished mutations,
                    artificially slow down mutations of
                    table. 0 - disabled
  --number_of_mutations_to_throw arg
                    If the mutated table contains at least
                    that many unfinished mutations, throw
                    'Too many mutations ...' exception. 0 -
                    disabled
  --insert_distributed_sync arg
                    If setting is enabled, insert query
                    into distributed waits until data will
                    be sent to all nodes in cluster.
  --insert_distributed_timeout arg
                    Timeout for insert query into
                    distributed. Setting is used only with
                    insert_distributed_sync enabled. Zero
                    value means no timeout.
  --distributed_ddl_task_timeout arg
                    Timeout for DDL query responses from
                    all hosts in cluster. If a ddl request
                    has not been performed on all hosts, a
                    response will contain a timeout error
                    and a request will be executed in an
                    async mode. Negative value means
                    infinite. Zero means async mode.
  --stream_flush_interval_ms arg
                    Timeout for flushing data from
                    streaming storages.
  --stream_poll_timeout_ms arg
                    Timeout for polling data from/to
                    streaming storages.
  --final arg       Query with the FINAL modifier by
                    default. If the engine does not support
                    final, it does not have any effect. On
                    queries with multiple tables final is
                    applied only on those that support it.
                    It also works on distributed tables
  --partial_result_on_first_cancel arg
                    Allows query to return a partial result
                    after cancel.
  --ignore_on_cluster_for_replicated_udf_queries arg
                    Ignore ON CLUSTER clause for replicated
                    UDF management queries.
  --ignore_on_cluster_for_replicated_access_entities_queries arg
                    Ignore ON CLUSTER clause for replicated
                    access entities management queries.
  --sleep_in_send_tables_status_ms arg
                    Time to sleep in sending tables status
                    response in TCPHandler
  --sleep_in_send_data_ms arg
                    Time to sleep in sending data in
                    TCPHandler
  --sleep_after_receiving_query_ms arg
                    Time to sleep after receiving query in
                    TCPHandler
  --unknown_packet_in_send_data arg
                    Send unknown packet instead of data Nth
                    data packet
  --insert_allow_materialized_columns arg
                    If setting is enabled, Allow
                    materialized columns in INSERT.
  --http_connection_timeout arg
                    HTTP connection timeout.
  --http_send_timeout arg
                    HTTP send timeout
  --http_receive_timeout arg
                    HTTP receive timeout
  --http_max_uri_size arg
                    Maximum URI length of HTTP request
  --http_max_fields arg
                    Maximum number of fields in HTTP header
  --http_max_field_name_size arg
                    Maximum length of field name in HTTP
                    header
  --http_max_field_value_size arg
                    Maximum length of field value in HTTP
                    header
  --http_max_chunk_size arg
                    Maximum value of a chunk size in HTTP
                    chunked transfer encoding
  --http_skip_not_found_url_for_globs arg
                    Skip url's for globs with
                    HTTP_NOT_FOUND error
  --optimize_throw_if_noop arg
                    If setting is enabled and OPTIMIZE
                    query didn't actually assign a merge
                    then an explanatory exception is thrown
  --use_index_for_in_with_subqueries arg
                    Try using an index if there is a
                    subquery or a table expression on the
                    right side of the IN operator.
  --use_index_for_in_with_subqueries_max_values arg
                    The maximum size of set in the right
                    hand side of the IN operator to use
                    table index for filtering. It allows to
                    avoid performance degradation and
                    higher memory usage due to preparation
                    of additional data structures for large
                    queries. Zero means no limit.
  --joined_subquery_requires_alias arg
                    Force joined subqueries and table
                    functions to have aliases for correct
                    name qualification.
  --empty_result_for_aggregation_by_empty_set arg
                    Return empty result when aggregating
                    without keys on empty set.
  --empty_result_for_aggregation_by_constant_keys_on_empty_set arg
                    Return empty result when aggregating by
                    constant keys on empty set.
  --allow_distributed_ddl arg
                    If it is set to true, then a user is
                    allowed to executed distributed DDL
                    queries.
  --allow_suspicious_codecs arg
                    If it is set to true, allow to specify
                    meaningless compression codecs.
  --allow_experimental_codecs arg
                    If it is set to true, allow to specify
                    experimental compression codecs (but we
                    don't have those yet and this option
                    does nothing).
  --enable_deflate_qpl_codec arg
                    Enable/disable the DEFLATE_QPL codec.
  --query_profiler_real_time_period_ns arg
                    Period for real clock timer of query
                    profiler (in nanoseconds). Set 0 value
                    to turn off the real clock query
                    profiler. Recommended value is at least
                    10000000 (100 times a second) for
                    single queries or 1000000000 (once a
                    second) for cluster-wide profiling.
  --query_profiler_cpu_time_period_ns arg
                    Period for CPU clock timer of query
                    profiler (in nanoseconds). Set 0 value
                    to turn off the CPU clock query
                    profiler. Recommended value is at least
                    10000000 (100 times a second) for
                    single queries or 1000000000 (once a
                    second) for cluster-wide profiling.
  --metrics_perf_events_enabled arg
                    If enabled, some of the perf events
                    will be measured throughout queries'
                    execution.
  --metrics_perf_events_list arg
                    Comma separated list of perf metrics
                    that will be measured throughout
                    queries' execution. Empty means all
                    events. See PerfEventInfo in sources
                    for the available events.
  --opentelemetry_start_trace_probability arg
                    Probability to start an OpenTelemetry
                    trace for an incoming query.
  --opentelemetry_trace_processors arg
                    Collect OpenTelemetry spans for
                    processors.
  --prefer_column_name_to_alias arg
                    Prefer using column names instead of
                    aliases if possible.
  --allow_experimental_analyzer arg
                    Allow experimental analyzer
  --prefer_global_in_and_join arg
                    If enabled, all IN/JOIN operators will
                    be rewritten as GLOBAL IN/JOIN. It's
                    useful when the to-be-joined tables are
                    only available on the initiator and we
                    need to always scatter their data
                    on-the-fly during distributed
                    processing with the GLOBAL keyword.
                    It's also useful to reduce the need to
                    access the external sources joining
                    external tables.
  --max_rows_to_read arg
                    Limit on read rows from the most 'deep'
                    sources. That is, only in the deepest
                    subquery. When reading from a remote
                    server, it is only checked on a remote
                    server.
  --max_bytes_to_read arg
                    Limit on read bytes (after
                    decompression) from the most 'deep'
                    sources. That is, only in the deepest
                    subquery. When reading from a remote
                    server, it is only checked on a remote
                    server.
  --read_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_rows_to_read_leaf arg
                    Limit on read rows on the leaf nodes
                    for distributed queries. Limit is
                    applied for local reads only excluding
                    the final merge stage on the root node.
  --max_bytes_to_read_leaf arg
                    Limit on read bytes (after
                    decompression) on the leaf nodes for
                    distributed queries. Limit is applied
                    for local reads only excluding the
                    final merge stage on the root node.
  --read_overflow_mode_leaf arg
                    What to do when the leaf limit is
                    exceeded.
  --max_rows_to_group_by arg
                    If aggregation during GROUP BY is
                    generating more than specified number
                    of rows (unique GROUP BY keys), the
                    behavior will be determined by the
                    'group_by_overflow_mode' which by
                    default is - throw an exception, but
                    can be also switched to an approximate
                    GROUP BY mode.
  --group_by_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_bytes_before_external_group_by arg
                    If memory usage during GROUP BY
                    operation is exceeding this threshold
                    in bytes, activate the 'external
                    aggregation' mode (spill data to disk).
                    Recommended value is half of available
                    system memory.
  --max_rows_to_sort arg
                    If more than specified amount of
                    records have to be processed for ORDER
                    BY operation, the behavior will be
                    determined by the 'sort_overflow_mode'
                    which by default is - throw an
                    exception
  --max_bytes_to_sort arg
                    If more than specified amount of
                    (uncompressed) bytes have to be
                    processed for ORDER BY operation, the
                    behavior will be determined by the
                    'sort_overflow_mode' which by default
                    is - throw an exception
  --sort_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_bytes_before_external_sort arg
                    If memory usage during ORDER BY
                    operation is exceeding this threshold
                    in bytes, activate the 'external
                    sorting' mode (spill data to disk).
                    Recommended value is half of available
                    system memory.
  --max_bytes_before_remerge_sort arg
                    In case of ORDER BY with LIMIT, when
                    memory usage is higher than specified
                    threshold, perform additional steps of
                    merging blocks before final merge to
                    keep just top LIMIT rows.
  --remerge_sort_lowered_memory_bytes_ratio arg
                    If memory usage after remerge does not
                    reduced by this ratio, remerge will be
                    disabled.
  --max_result_rows arg
                    Limit on result size in rows. The query
                    will stop after processing a block of
                    data if the threshold is met, but it
                    will not cut the last block of the
                    result, therefore the result size can
                    be larger than the threshold.
  --max_result_bytes arg
                    Limit on result size in bytes
                    (uncompressed).  The query will stop
                    after processing a block of data if the
                    threshold is met, but it will not cut
                    the last block of the result, therefore
                    the result size can be larger than the
                    threshold. Caveats: the result size in
                    memory is taken into account for this
                    threshold. Even if the result size is
                    small, it can reference larger data
                    structures in memory, representing
                    dictionaries of LowCardinality columns,
                    and Arenas of AggregateFunction
                    columns, so the threshold can be
                    exceeded despite the small result size.
                    The setting is fairly low level and
                    should be used with caution.
  --result_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_execution_time arg
                    If query run time exceeded the
                    specified number of seconds, the
                    behavior will be determined by the
                    'timeout_overflow_mode' which by
                    default is - throw an exception. Note
                    that the timeout is checked and query
                    can stop only in designated places
                    during data processing. It currently
                    cannot stop during merging of
                    aggregation states or during query
                    analysis, and the actual run time will
                    be higher than the value of this
                    setting.
  --timeout_overflow_mode arg
                    What to do when the limit is exceeded.
  --min_execution_speed arg
                    Minimum number of execution rows per
                    second.
  --max_execution_speed arg
                    Maximum number of execution rows per
                    second.
  --min_execution_speed_bytes arg
                    Minimum number of execution bytes per
                    second.
  --max_execution_speed_bytes arg
                    Maximum number of execution bytes per
                    second.
  --timeout_before_checking_execution_speed arg
                    Check that the speed is not too low
                    after the specified time has elapsed.
  --max_columns_to_read arg
                    If a query requires reading more than
                    specified number of columns, exception
                    is thrown. Zero value means unlimited.
                    This setting is useful to prevent too
                    complex queries.
  --max_temporary_columns arg
                    If a query generates more than the
                    specified number of temporary columns
                    in memory as a result of intermediate
                    calculation, exception is thrown. Zero
                    value means unlimited. This setting is
                    useful to prevent too complex queries.
  --max_temporary_non_const_columns arg
                    Similar to the 'max_temporary_columns'
                    setting but applies only to
                    non-constant columns. This makes sense,
                    because constant columns are cheap and
                    it is reasonable to allow more of them.
  --max_sessions_for_user arg
                    Maximum number of simultaneous sessions
                    for a user.
  --max_subquery_depth arg
                    If a query has more than specified
                    number of nested subqueries, throw an
                    exception. This allows you to have a
                    sanity check to protect the users of
                    your cluster from going insane with
                    their queries.
  --max_analyze_depth arg
                    Maximum number of analyses performed by
                    interpreter.
  --max_ast_depth arg
                    Maximum depth of query syntax tree.
                    Checked after parsing.
  --max_ast_elements arg
                    Maximum size of query syntax tree in
                    number of nodes. Checked after parsing.
  --max_expanded_ast_elements arg
                    Maximum size of query syntax tree in
                    number of nodes after expansion of
                    aliases and the asterisk.
  --readonly arg    0 - no read-only restrictions. 1 - only
                    read requests, as well as changing
                    explicitly allowed settings. 2 - only
                    read requests, as well as changing
                    settings, except for the 'readonly'
                    setting.
  --max_rows_in_set arg
                    Maximum size of the set (in number of
                    elements) resulting from the execution
                    of the IN section.
  --max_bytes_in_set arg
                    Maximum size of the set (in bytes in
                    memory) resulting from the execution of
                    the IN section.
  --set_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_rows_in_join arg
                    Maximum size of the hash table for JOIN
                    (in number of rows).
  --max_bytes_in_join arg
                    Maximum size of the hash table for JOIN
                    (in number of bytes in memory).
  --join_overflow_mode arg
                    What to do when the limit is exceeded.
  --join_any_take_last_row arg
                    When disabled (default) ANY JOIN will
                    take the first found row for a key.
                    When enabled, it will take the last row
                    seen if there are multiple rows for the
                    same key.
  --join_algorithm arg
                    Specify join algorithm.
  --default_max_bytes_in_join arg
                    Maximum size of right-side table if
                    limit is required but max_bytes_in_join
                    is not set.
  --partial_merge_join_left_table_buffer_bytes arg
                    If not 0 group left table blocks in
                    bigger ones for left-side table in
                    partial merge join. It uses up to 2x of
                    specified memory per joining thread.
  --partial_merge_join_rows_in_right_blocks arg
                    Split right-hand joining data in blocks
                    of specified size. It's a portion of
                    data indexed by min-max values and
                    possibly unloaded on disk.
  --join_on_disk_max_files_to_merge arg
                    For MergeJoin on disk set how much
                    files it's allowed to sort
                    simultaneously. Then this value bigger
                    then more memory used and then less
                    disk I/O needed. Minimum is 2.
  --max_rows_in_set_to_optimize_join arg
                    Maximal size of the set to filter
                    joined tables by each other row sets
                    before joining. 0 - disable.
  --compatibility_ignore_collation_in_create_table arg
                    Compatibility ignore collation in
                    create table
  --temporary_files_codec arg
                    Set compression codec for temporary
                    files (sort and join on disk). I.e.
                    LZ4, NONE.
  --max_rows_to_transfer arg
                    Maximum size (in rows) of the
                    transmitted external table obtained
                    when the GLOBAL IN/JOIN section is
                    executed.
  --max_bytes_to_transfer arg
                    Maximum size (in uncompressed bytes) of
                    the transmitted external table obtained
                    when the GLOBAL IN/JOIN section is
                    executed.
  --transfer_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_rows_in_distinct arg
                    Maximum number of elements during
                    execution of DISTINCT.
  --max_bytes_in_distinct arg
                    Maximum total size of state (in
                    uncompressed bytes) in memory for the
                    execution of DISTINCT.
  --distinct_overflow_mode arg
                    What to do when the limit is exceeded.
  --max_memory_usage arg
                    Maximum memory usage for processing of
                    single query. Zero means unlimited.
  --memory_overcommit_ratio_denominator arg
                    It represents soft memory limit on the
                    user level. This value is used to
                    compute query overcommit ratio.
  --max_memory_usage_for_user arg
                    Maximum memory usage for processing all
                    concurrently running queries for the
                    user. Zero means unlimited.
  --memory_overcommit_ratio_denominator_for_user arg
                    It represents soft memory limit on the
                    global level. This value is used to
                    compute query overcommit ratio.
  --max_untracked_memory arg
                    Small allocations and deallocations are
                    grouped in thread local variable and
                    tracked or profiled only when amount
                    (in absolute value) becomes larger than
                    specified value. If the value is higher
                    than 'memory_profiler_step' it will be
                    effectively lowered to
                    'memory_profiler_step'.
  --memory_profiler_step arg
                    Whenever query memory usage becomes
                    larger than every next step in number
                    of bytes the memory profiler will
                    collect the allocating stack trace.
                    Zero means disabled memory profiler.
                    Values lower than a few megabytes will
                    slow down query processing.
  --memory_profiler_sample_probability arg
                    Collect random allocations and
                    deallocations and write them into
                    system.trace_log with 'MemorySample'
                    trace_type. The probability is for
                    every alloc/free regardless to the size
                    of the allocation (can be changed with
                    `memory_profiler_sample_min_allocation_
                    size` and `memory_profiler_sample_max_a
                    llocation_size`). Note that sampling
                    happens only when the amount of
                    untracked memory exceeds
                    'max_untracked_memory'. You may want to
                    set 'max_untracked_memory' to 0 for
                    extra fine grained sampling.
  --memory_profiler_sample_min_allocation_size arg
                    Collect random allocations of size
                    greater or equal than specified value
                    with probability equal to
                    `memory_profiler_sample_probability`. 0
                    means disabled. You may want to set
                    'max_untracked_memory' to 0 to make
                    this threshold to work as expected.
  --memory_profiler_sample_max_allocation_size arg
                    Collect random allocations of size less
                    or equal than specified value with
                    probability equal to
                    `memory_profiler_sample_probability`. 0
                    means disabled. You may want to set
                    'max_untracked_memory' to 0 to make
                    this threshold to work as expected.
  --trace_profile_events arg
                    Send to system.trace_log profile event
                    and value of increment on each
                    increment with 'ProfileEvent'
                    trace_type
  --memory_usage_overcommit_max_wait_microseconds arg
                    Maximum time thread will wait for
                    memory to be freed in the case of
                    memory overcommit. If timeout is
                    reached and memory is not freed,
                    exception is thrown.
  --max_network_bandwidth arg
                    The maximum speed of data exchange over
                    the network in bytes per second for a
                    query. Zero means unlimited.
  --max_network_bytes arg
                    The maximum number of bytes
                    (compressed) to receive or transmit
                    over the network for execution of the
                    query.
  --max_network_bandwidth_for_user arg
                    The maximum speed of data exchange over
                    the network in bytes per second for all
                    concurrently running user queries. Zero
                    means unlimited.
  --max_network_bandwidth_for_all_users arg
                    The maximum speed of data exchange over
                    the network in bytes per second for all
                    concurrently running queries. Zero
                    means unlimited.
  --max_temporary_data_on_disk_size_for_user arg
                    The maximum amount of data consumed by
                    temporary files on disk in bytes for
                    all concurrently running user queries.
                    Zero means unlimited.
  --max_temporary_data_on_disk_size_for_query arg
                    The maximum amount of data consumed by
                    temporary files on disk in bytes for
                    all concurrently running queries. Zero
                    means unlimited.
  --backup_restore_keeper_max_retries arg
                    Max retries for keeper operations
                    during backup or restore
  --backup_restore_keeper_retry_initial_backoff_ms arg
                    Initial backoff timeout for [Zoo]Keeper
                    operations during backup or restore
  --backup_restore_keeper_retry_max_backoff_ms arg
                    Max backoff timeout for [Zoo]Keeper
                    operations during backup or restore
  --backup_restore_keeper_fault_injection_probability arg
                    Approximate probability of failure for
                    a keeper request during backup or
                    restore. Valid value is in interval
                    [0.0f, 1.0f]
  --backup_restore_keeper_fault_injection_seed arg
                    0 - random seed, otherwise the setting
                    value
  --backup_restore_keeper_value_max_size arg
                    Maximum size of data of a [Zoo]Keeper's
                    node during backup
  --backup_restore_batch_size_for_keeper_multiread arg
                    Maximum size of batch for multiread
                    request to [Zoo]Keeper during backup or
                    restore
  --max_backup_bandwidth arg
                    The maximum read speed in bytes per
                    second for particular backup on server.
                    Zero means unlimited.
  --log_profile_events arg
                    Log query performance statistics into
                    the query_log, query_thread_log and
                    query_views_log.
  --log_query_settings arg
                    Log query settings into the query_log.
  --log_query_threads arg
                    Log query threads into
                    system.query_thread_log table. This
                    setting have effect only when
                    'log_queries' is true.
  --log_query_views arg
                    Log query dependent views into
                    system.query_views_log table. This
                    setting have effect only when
                    'log_queries' is true.
  --log_comment arg Log comment into system.query_log table
                    and server log. It can be set to
                    arbitrary string no longer than
                    max_query_size.
  --send_logs_level arg
                    Send server text logs with specified
                    minimum level to client. Valid values:
                    'trace', 'debug', 'information',
                    'warning', 'error', 'fatal', 'none'
  --send_logs_source_regexp arg
                    Send server text logs with specified
                    regexp to match log source name. Empty
                    means all sources.
  --enable_optimize_predicate_expression arg
                    If it is set to true, optimize
                    predicates to subqueries.
  --enable_optimize_predicate_expression_to_final_subquery arg
                    Allow push predicate to final subquery.
  --allow_push_predicate_when_subquery_contains_with arg
                    Allows push predicate when subquery
                    contains WITH clause
  --low_cardinality_max_dictionary_size arg
                    Maximum size (in rows) of shared global
                    dictionary for LowCardinality type.
  --low_cardinality_use_single_dictionary_for_part arg
                    LowCardinality type serialization
                    setting. If is true, than will use
                    additional keys when global dictionary
                    overflows. Otherwise, will create
                    several shared dictionaries.
  --decimal_check_overflow arg
                    Check overflow of decimal
                    arithmetic/comparison operations
  --allow_custom_error_code_in_throwif arg
                    Enable custom error code in function
                    throwIf(). If true, thrown exceptions
                    may have unexpected error codes.
  --prefer_localhost_replica arg
                    If it's true then queries will be
                    always sent to local replica (if it
                    exists). If it's false then replica to
                    send a query will be chosen between
                    local and remote ones according to
                    load_balancing
  --max_fetch_partition_retries_count arg
                    Amount of retries while fetching
                    partition from another host.
  --http_max_multipart_form_data_size arg
                    Limit on size of multipart/form-data
                    content. This setting cannot be parsed
                    from URL parameters and should be set
                    in user profile. Note that content is
                    parsed and external tables are created
                    in memory before start of query
                    execution. And this is the only limit
                    that has effect on that stage (limits
                    on max memory usage and max execution
                    time have no effect while reading HTTP
                    form data).
  --calculate_text_stack_trace arg
                    Calculate text stack trace in case of
                    exceptions during query execution. This
                    is the default. It requires symbol
                    lookups that may slow down fuzzing
                    tests when huge amount of wrong queries
                    are executed. In normal cases you
                    should not disable this option.
  --enable_job_stack_trace arg
                    Output stack trace of a job creator
                    when job results in exception
  --allow_ddl arg   If it is set to true, then a user is
                    allowed to executed DDL queries.
  --parallel_view_processing arg
                    Enables pushing to attached views
                    concurrently instead of sequentially.
  --enable_unaligned_array_join arg
                    Allow ARRAY JOIN with multiple arrays
                    that have different sizes. When this
                    settings is enabled, arrays will be
                    resized to the longest one.
  --optimize_read_in_order arg
                    Enable ORDER BY optimization for
                    reading data in corresponding order in
                    MergeTree tables.
  --optimize_read_in_window_order arg
                    Enable ORDER BY optimization in window
                    clause for reading data in
                    corresponding order in MergeTree
                    tables.
  --optimize_aggregation_in_order arg
                    Enable GROUP BY optimization for
                    aggregating data in corresponding order
                    in MergeTree tables.
  --aggregation_in_order_max_block_bytes arg
                    Maximal size of block in bytes
                    accumulated during aggregation in order
                    of primary key. Lower block size allows
                    to parallelize more final merge stage
                    of aggregation.
  --read_in_order_two_level_merge_threshold arg
                    Minimal number of parts to read to run
                    preliminary merge step during
                    multithread reading in order of primary
                    key.
  --low_cardinality_allow_in_native_format arg
                    Use LowCardinality type in Native
                    format. Otherwise, convert
                    LowCardinality columns to ordinary for
                    select query, and convert ordinary
                    columns to required LowCardinality for
                    insert query.
  --cancel_http_readonly_queries_on_client_close arg
                    Cancel HTTP readonly queries when a
                    client closes the connection without
                    waiting for response.
  --external_table_functions_use_nulls arg
                    If it is set to true, external table
                    functions will implicitly use Nullable
                    type if needed. Otherwise NULLs will be
                    substituted with default values.
                    Currently supported only by 'mysql',
                    'postgresql' and 'odbc' table
                    functions.
  --external_table_strict_query arg
                    If it is set to true, transforming
                    expression to local filter is forbidden
                    for queries to external tables.
  --allow_hyperscan arg
                    Allow functions that use Hyperscan
                    library. Disable to avoid potentially
                    long compilation times and excessive
                    resource usage.
  --max_hyperscan_regexp_length arg
                    Max length of regexp than can be used
                    in hyperscan multi-match functions.
                    Zero means unlimited.
  --max_hyperscan_regexp_total_length arg
                    Max total length of all regexps than
                    can be used in hyperscan multi-match
                    functions (per every function). Zero
                    means unlimited.
  --reject_expensive_hyperscan_regexps arg
                    Reject patterns which will likely be
                    expensive to evaluate with hyperscan
                    (due to NFA state explosion)
  --allow_simdjson arg
                    Allow using simdjson library in 'JSON*'
                    functions if AVX2 instructions are
                    available. If disabled rapidjson will
                    be used.
  --allow_introspection_functions arg
                    Allow functions for introspection of
                    ELF and DWARF for query profiling.
                    These functions are slow and may impose
                    security considerations.
  --allow_execute_multiif_columnar arg
                    Allow execute multiIf function columnar
  --formatdatetime_f_prints_single_zero arg
                    Formatter '%f' in function
                    'formatDateTime()' produces a single
                    zero instead of six zeros if the
                    formatted value has no fractional
                    seconds.
  --formatdatetime_parsedatetime_m_is_month_name arg
                    Formatter '%M' in functions
                    'formatDateTime()' and
                    'parseDateTime()' produces the month
                    name instead of minutes.
  --max_partitions_per_insert_block arg
                    Limit maximum number of partitions in
                    single INSERTed block. Zero means
                    unlimited. Throw exception if the block
                    contains too many partitions. This
                    setting is a safety threshold, because
                    using large number of partitions is a
                    common misconception.
  --throw_on_max_partitions_per_insert_block arg
                    Used with max_partitions_per_insert_blo
                    ck. If true (default), an exception
                    will be thrown when max_partitions_per_
                    insert_block is reached. If false,
                    details of the insert query reaching
                    this limit with the number of
                    partitions will be logged. This can be
                    useful if you're trying to understand
                    the impact on users when changing
                    max_partitions_per_insert_block.
  --max_partitions_to_read arg
                    Limit the max number of partitions that
                    can be accessed in one query. <= 0
                    means unlimited.
  --check_query_single_value_result arg
                    Return check query result as single 1/0
                    value
  --allow_drop_detached arg
                    Allow ALTER TABLE ... DROP DETACHED
                    PART[ITION] ... queries
  --postgresql_connection_pool_size arg
                    Connection pool size for PostgreSQL
                    table engine and database engine.
  --postgresql_connection_pool_wait_timeout arg
                    Connection pool push/pop timeout on
                    empty pool for PostgreSQL table engine
                    and database engine. By default it will
                    block on empty pool.
  --postgresql_connection_pool_auto_close_connection arg
                    Close connection before returning
                    connection to the pool.
  --glob_expansion_max_elements arg
                    Maximum number of allowed addresses
                    (For external storages, table
                    functions, etc).
  --odbc_bridge_connection_pool_size arg
                    Connection pool size for each
                    connection settings string in ODBC
                    bridge.
  --odbc_bridge_use_connection_pooling arg
                    Use connection pooling in ODBC bridge.
                    If set to false, a new connection is
                    created every time
  --distributed_replica_error_half_life arg
                    Time period reduces replica error
                    counter by 2 times.
  --distributed_replica_error_cap arg
                    Max number of errors per replica,
                    prevents piling up an incredible amount
                    of errors if replica was offline for
                    some time and allows it to be
                    reconsidered in a shorter amount of
                    time.
  --distributed_replica_max_ignored_errors arg
                    Number of errors that will be ignored
                    while choosing replicas
  --allow_experimental_live_view arg
                    Enable LIVE VIEW. Not mature enough.
  --live_view_heartbeat_interval arg
                    The heartbeat interval in seconds to
                    indicate live query is alive.
  --max_live_view_insert_blocks_before_refresh arg
                    Limit maximum number of inserted blocks
                    after which mergeable blocks are
                    dropped and query is re-executed.
  --allow_experimental_window_view arg
                    Enable WINDOW VIEW. Not mature enough.
  --window_view_clean_interval arg
                    The clean interval of window view in
                    seconds to free outdated data.
  --window_view_heartbeat_interval arg
                    The heartbeat interval in seconds to
                    indicate watch query is alive.
  --wait_for_window_view_fire_signal_timeout arg
                    Timeout for waiting for window view
                    fire signal in event time processing
  --min_free_disk_space_for_temporary_data arg
                    The minimum disk space to keep while
                    writing temporary data used in external
                    sorting and aggregation.
  --default_temporary_table_engine arg
                    Default table engine used when ENGINE
                    is not set in CREATE TEMPORARY
                    statement.
  --default_table_engine arg
                    Default table engine used when ENGINE
                    is not set in CREATE statement.
  --show_table_uuid_in_table_create_query_if_not_nil arg
                    For tables in databases with
                    Engine=Atomic show UUID of the table in
                    its CREATE query.
  --database_atomic_wait_for_drop_and_detach_synchronously arg
                    When executing DROP or DETACH TABLE in
                    Atomic database, wait for table data to
                    be finally dropped or detached.
  --enable_scalar_subquery_optimization arg
                    If it is set to true, prevent scalar
                    subqueries from (de)serializing large
                    scalar values and possibly avoid
                    running the same subquery more than
                    once.
  --optimize_trivial_count_query arg
                    Process trivial 'SELECT count() FROM
                    table' query from metadata.
  --optimize_count_from_files arg
                    Optimize counting rows from files in
                    supported input formats
  --use_cache_for_count_from_files arg
                    Use cache to count the number of rows
                    in files
  --optimize_respect_aliases arg
                    If it is set to true, it will respect
                    aliases in WHERE/GROUP BY/ORDER BY,
                    that will help with partition
                    pruning/secondary indexes/optimize_aggr
                    egation_in_order/optimize_read_in_order
                    /optimize_trivial_count
  --mutations_sync arg
                    Wait for synchronous execution of ALTER
                    TABLE UPDATE/DELETE queries
                    (mutations). 0 - execute
                    asynchronously. 1 - wait current
                    server. 2 - wait all replicas if they
                    exist.
  --enable_lightweight_delete arg
                    Enable lightweight DELETE mutations for
                    mergetree tables.
  --allow_experimental_lightweight_delete arg
                    Enable lightweight DELETE mutations for
                    mergetree tables.
  --optimize_move_functions_out_of_any arg
                    Move functions out of aggregate
                    functions 'any', 'anyLast'.
  --optimize_normalize_count_variants arg
                    Rewrite aggregate functions that
                    semantically equals to count() as
                    count().
  --optimize_injective_functions_inside_uniq arg
                    Delete injective functions of one
                    argument inside uniq*() functions.
  --rewrite_count_distinct_if_with_count_distinct_implementation arg
                    Rewrite countDistinctIf with
                    count_distinct_implementation
                    configuration
  --convert_query_to_cnf arg
                    Convert SELECT query to CNF
  --optimize_or_like_chain arg
                    Optimize multiple OR LIKE into
                    multiMatchAny. This optimization should
                    not be enabled by default, because it
                    defies index analysis in some cases.
  --optimize_arithmetic_operations_in_aggregate_functions arg
                    Move arithmetic operations out of
                    aggregation functions
  --optimize_redundant_functions_in_order_by arg
                    Remove functions from ORDER BY if its
                    argument is also in ORDER BY
  --optimize_if_chain_to_multiif arg
                    Replace if(cond1, then1, if(cond2,
                    ...)) chains to multiIf. Currently it's
                    not beneficial for numeric types.
  --optimize_multiif_to_if arg
                    Replace 'multiIf' with only one
                    condition to 'if'.
  --optimize_if_transform_strings_to_enum arg
                    Replaces string-type arguments in If
                    and Transform to enum. Disabled by
                    default cause it could make
                    inconsistent change in distributed
                    query that would lead to its fail.
  --optimize_monotonous_functions_in_order_by arg
                    Replace monotonous function with its
                    argument in ORDER BY
  --optimize_functions_to_subcolumns arg
                    Transform functions to subcolumns, if
                    possible, to reduce amount of read
                    data. E.g. 'length(arr)' ->
                    'arr.size0', 'col IS NULL' ->
                    'col.null'
  --optimize_using_constraints arg
                    Use constraints for query optimization
  --optimize_substitute_columns arg
                    Use constraints for column substitution
  --optimize_append_index arg
                    Use constraints in order to append
                    index condition (indexHint)
  --normalize_function_names arg
                    Normalize function names to their
                    canonical names
  --allow_experimental_alter_materialized_view_structure arg
                    Allow atomic alter on Materialized
                    views. Work in progress.
  --enable_early_constant_folding arg
                    Enable query optimization where we
                    analyze function and subqueries results
                    and rewrite query if there're constants
                    there
  --deduplicate_blocks_in_dependent_materialized_views arg
                    Should deduplicate blocks for
                    materialized views if the block is not
                    a duplicate for the table. Use true to
                    always deduplicate in dependent tables.
  --materialized_views_ignore_errors arg
                    Allows to ignore errors for
                    MATERIALIZED VIEW, and deliver original
                    block to the table regardless of MVs
  --use_compact_format_in_distributed_parts_names arg
                    Changes format of directories names for
                    distributed table insert parts.
  --validate_polygons arg
                    Throw exception if polygon is invalid
                    in function pointInPolygon (e.g.
                    self-tangent, self-intersecting). If
                    the setting is false, the function will
                    accept invalid polygons but may
                    silently return wrong result.
  --max_parser_depth arg
                    Maximum parser depth (recursion depth
                    of recursive descend parser).
  --allow_settings_after_format_in_insert arg
                    Allow SETTINGS after FORMAT, but note,
                    that this is not always safe (note:
                    this is a compatibility setting).
  --periodic_live_view_refresh arg
                    Interval after which periodically
                    refreshed live view is forced to
                    refresh.
  --transform_null_in arg
                    If enabled, NULL values will be matched
                    with 'IN' operator as if they are
                    considered equal.
  --allow_nondeterministic_mutations arg
                    Allow non-deterministic functions in
                    ALTER UPDATE/ALTER DELETE statements
  --lock_acquire_timeout arg
                    How long locking request should wait
                    before failing
  --materialize_ttl_after_modify arg
                    Apply TTL for old data, after ALTER
                    MODIFY TTL query
  --function_implementation arg
                    Choose function implementation for
                    specific target or variant
                    (experimental). If empty enable all of
                    them.
  --data_type_default_nullable arg
                    Data types without NULL or NOT NULL
                    will make Nullable
  --cast_keep_nullable arg
                    CAST operator keep Nullable for result
                    data type
  --cast_ipv4_ipv6_default_on_conversion_error arg
                    CAST operator into IPv4, CAST operator
                    into IPV6 type, toIPv4, toIPv6
                    functions will return default value
                    instead of throwing exception on
                    conversion error.
  --alter_partition_verbose_result arg
                    Output information about affected
                    parts. Currently works only for FREEZE
                    and ATTACH commands.
  --allow_experimental_database_materialized_mysql arg
                    Allow to create database with
                    Engine=MaterializedMySQL(...).
  --allow_experimental_database_materialized_postgresql arg
                    Allow to create database with
                    Engine=MaterializedPostgreSQL(...).
  --system_events_show_zero_values arg
                    When querying system.events or
                    system.metrics tables, include all
                    metrics, even with zero values.
  --mysql_datatypes_support_level arg
                    Which MySQL types should be converted
                    to corresponding ClickHouse types
                    (rather than being represented as
                    String). Can be empty or any
                    combination of 'decimal', 'datetime64',
                    'date2Date32' or 'date2String'. When
                    empty MySQL's DECIMAL and
                    DATETIME/TIMESTAMP with non-zero
                    precision are seen as String on
                    ClickHouse's side.
  --optimize_trivial_insert_select arg
                    Optimize trivial 'INSERT INTO table
                    SELECT ... FROM TABLES' query
  --allow_non_metadata_alters arg
                    Allow to execute alters which affects
                    not only tables metadata, but also data
                    on disk
  --enable_global_with_statement arg
                    Propagate WITH statements to UNION
                    queries and all subqueries
  --aggregate_functions_null_for_empty arg
                    Rewrite all aggregate functions in a
                    query, adding -OrNull suffix to them
  --optimize_syntax_fuse_functions arg
                    Allow apply fuse aggregating function.
                    Available only with `allow_experimental
                    _analyzer`
  --flatten_nested arg
                    If true, columns of type Nested will be
                    flatten to separate array columns
                    instead of one array of tuples
  --asterisk_include_materialized_columns arg
                    Include MATERIALIZED columns for
                    wildcard query
  --asterisk_include_alias_columns arg
                    Include ALIAS columns for wildcard
                    query
  --optimize_skip_merged_partitions arg
                    Skip partitions with one part with
                    level > 0 in optimize final
  --optimize_on_insert arg
                    Do the same transformation for inserted
                    block of data as if merge was done on
                    this block.
  --optimize_use_projections arg
                    Automatically choose projections to
                    perform SELECT query
  --allow_experimental_projection_optimization arg
                    Automatically choose projections to
                    perform SELECT query
  --optimize_use_implicit_projections arg
                    Automatically choose implicit
                    projections to perform SELECT query
  --force_optimize_projection arg
                    If projection optimization is enabled,
                    SELECT queries need to use projection
  --preferred_optimize_projection_name arg
                    If it is set to a non-empty string,
                    ClickHouse tries to apply specified
                    projection
  --async_socket_for_remote arg
                    Asynchronously read from socket
                    executing remote query
  --async_query_sending_for_remote arg
                    Asynchronously create connections and
                    send query to shards in remote query
  --insert_null_as_default arg
                    Insert DEFAULT values instead of NULL
                    in INSERT SELECT (UNION ALL)
  --describe_extend_object_types arg
                    Deduce concrete type of columns of type
                    Object in DESCRIBE query
  --describe_include_subcolumns arg
                    If true, subcolumns of all table
                    columns will be included into result of
                    DESCRIBE query
  --mutations_execute_nondeterministic_on_initiator arg
                    If true nondeterministic function are
                    executed on initiator and replaced to
                    literals in UPDATE and DELETE queries
  --mutations_execute_subqueries_on_initiator arg
                    If true scalar subqueries are executed
                    on initiator and replaced to literals
                    in UPDATE and DELETE queries
  --mutations_max_literal_size_to_replace arg
                    The maximum size of serialized literal
                    in bytes to replace in UPDATE and
                    DELETE queries
  --use_query_cache arg
                    Enable the query cache
  --enable_writes_to_query_cache arg
                    Enable storing results of SELECT
                    queries in the query cache
  --enable_reads_from_query_cache arg
                    Enable reading results of SELECT
                    queries from the query cache
  --query_cache_store_results_of_queries_with_nondeterministic_functions arg
                    Store results of queries with
                    non-deterministic functions (e.g.
                    rand(), now()) in the query cache
  --query_cache_max_size_in_bytes arg
                    The maximum amount of memory (in bytes)
                    the current user may allocate in the
                    query cache. 0 means unlimited.
  --query_cache_max_entries arg
                    The maximum number of query results the
                    current user may store in the query
                    cache. 0 means unlimited.
  --query_cache_min_query_runs arg
                    Minimum number a SELECT query must run
                    before its result is stored in the
                    query cache
  --query_cache_min_query_duration arg
                    Minimum time in milliseconds for a
                    query to run for its result to be
                    stored in the query cache.
  --query_cache_compress_entries arg
                    Compress cache entries.
  --query_cache_squash_partial_results arg
                    Squash partial result blocks to blocks
                    of size 'max_block_size'. Reduces
                    performance of inserts into the query
                    cache but improves the compressability
                    of cache entries.
  --query_cache_ttl arg
                    After this time in seconds entries in
                    the query cache become stale
  --query_cache_share_between_users arg
                    Allow other users to read entry in the
                    query cache
  --enable_sharing_sets_for_mutations arg
                    Allow sharing set objects build for IN
                    subqueries between different tasks of
                    the same mutation. This reduces memory
                    usage and CPU consumption
  --optimize_rewrite_sum_if_to_count_if arg
                    Rewrite sumIf() and sum(if()) function
                    countIf() function when logically
                    equivalent
  --optimize_rewrite_aggregate_function_with_if arg
                    Rewrite aggregate functions with if
                    expression as argument when logically
                    equivalent. For example, avg(if(cond,
                    col, null)) can be rewritten to
                    avgIf(cond, col)
  --optimize_rewrite_array_exists_to_has arg
                    Rewrite arrayExists() functions to
                    has() when logically equivalent. For
                    example, arrayExists(x -> x = 1, arr)
                    can be rewritten to has(arr, 1)
  --insert_shard_id arg
                    If non zero, when insert into a
                    distributed table, the data will be
                    inserted into the shard
                    `insert_shard_id` synchronously.
                    Possible values range from 1 to
                    `shards_number` of corresponding
                    distributed table
  --collect_hash_table_stats_during_aggregation arg
                    Enable collecting hash table statistics
                    to optimize memory allocation
  --max_entries_for_hash_table_stats arg
                    How many entries hash table statistics
                    collected during aggregation is allowed
                    to have
  --max_size_to_preallocate_for_aggregation arg
                    For how many elements it is allowed to
                    preallocate space in all hash tables in
                    total before aggregation
  --kafka_disable_num_consumers_limit arg
                    Disable limit on kafka_num_consumers
                    that depends on the number of available
                    CPU cores
  --enable_software_prefetch_in_aggregation arg
                    Enable use of software prefetch in
                    aggregation
  --allow_aggregate_partitions_independently arg
                    Enable independent aggregation of
                    partitions on separate threads when
                    partition key suits group by key.
                    Beneficial when number of partitions
                    close to number of cores and partitions
                    have roughly the same size
  --force_aggregate_partitions_independently arg
                    Force the use of optimization when it
                    is applicable, but heuristics decided
                    not to use it
  --max_number_of_partitions_for_independent_aggregation arg
                    Maximal number of partitions in table
                    to apply optimization
  --allow_experimental_query_deduplication arg
                    Experimental data deduplication for
                    SELECT queries based on part UUIDs
  --engine_file_empty_if_not_exists arg
                    Allows to select data from a file
                    engine table without file
  --engine_file_truncate_on_insert arg
                    Enables or disables truncate before
                    insert in file engine tables
  --engine_file_allow_create_multiple_files arg
                    Enables or disables creating a new file
                    on each insert in file engine tables if
                    format has suffix.
  --engine_file_skip_empty_files arg
                    Allows to skip empty files in file
                    table engine
  --engine_url_skip_empty_files arg
                    Allows to skip empty files in url table
                    engine
  --enable_url_encoding arg
                     Allows to enable/disable
                    decoding/encoding path in uri in URL
                    table engine
  --allow_experimental_database_replicated arg
                    Allow to create databases with
                    Replicated engine
  --database_replicated_initial_query_timeout_sec arg
                    How long initial DDL query should wait
                    for Replicated database to precess
                    previous DDL queue entries
  --database_replicated_enforce_synchronous_settings arg
                    Enforces synchronous waiting for some
                    queries (see also database_atomic_wait_
                    for_drop_and_detach_synchronously,
                    mutation_sync, alter_sync). Not
                    recommended to enable these settings.
  --max_distributed_depth arg
                    Maximum distributed query depth
  --database_replicated_always_detach_permanently arg
                    Execute DETACH TABLE as DETACH TABLE
                    PERMANENTLY if database engine is
                    Replicated
  --database_replicated_allow_only_replicated_engine arg
                    Allow to create only Replicated tables
                    in database with engine Replicated
  --database_replicated_allow_replicated_engine_arguments arg
                    Allow to create only Replicated tables
                    in database with engine Replicated with
                    explicit arguments
  --distributed_ddl_output_mode arg
                    Format of distributed DDL query result,
                    one of: 'none', 'throw',
                    'null_status_on_timeout', 'never_throw'
  --distributed_ddl_entry_format_version arg
                    Compatibility version of distributed
                    DDL (ON CLUSTER) queries
  --external_storage_max_read_rows arg
                    Limit maximum number of rows when table
                    with external engine should flush
                    history data. Now supported only for
                    MySQL table engine, database engine,
                    dictionary and MaterializedMySQL. If
                    equal to 0, this setting is disabled
  --external_storage_max_read_bytes arg
                    Limit maximum number of bytes when
                    table with external engine should flush
                    history data. Now supported only for
                    MySQL table engine, database engine,
                    dictionary and MaterializedMySQL. If
                    equal to 0, this setting is disabled
  --external_storage_connect_timeout_sec arg
                    Connect timeout in seconds. Now
                    supported only for MySQL
  --external_storage_rw_timeout_sec arg
                    Read/write timeout in seconds. Now
                    supported only for MySQL
  --union_default_mode arg
                    Set default mode in UNION query.
                    Possible values: empty string, 'ALL',
                    'DISTINCT'. If empty, query without
                    mode will throw exception.
  --intersect_default_mode arg
                    Set default mode in INTERSECT query.
                    Possible values: empty string, 'ALL',
                    'DISTINCT'. If empty, query without
                    mode will throw exception.
  --except_default_mode arg
                    Set default mode in EXCEPT query.
                    Possible values: empty string, 'ALL',
                    'DISTINCT'. If empty, query without
                    mode will throw exception.
  --optimize_aggregators_of_group_by_keys arg
                    Eliminates min/max/any/anyLast
                    aggregators of GROUP BY keys in SELECT
                    section
  --optimize_group_by_function_keys arg
                    Eliminates functions of other keys in
                    GROUP BY section
  --legacy_column_name_of_tuple_literal arg
                    List all names of element of large
                    tuple literals in their column names
                    instead of hash. This settings exists
                    only for compatibility reasons. It
                    makes sense to set to 'true', while
                    doing rolling update of cluster from
                    version lower than 21.7 to higher.
  --query_plan_enable_optimizations arg
                    Apply optimizations to query plan
  --query_plan_max_optimizations_to_apply arg
                    Limit the total number of optimizations
                    applied to query plan. If zero,
                    ignored. If limit reached, throw
                    exception
  --query_plan_filter_push_down arg
                    Allow to push down filter by predicate
                    query plan step
  --query_plan_optimize_primary_key arg
                    Analyze primary key using query plan
                    (instead of AST)
  --query_plan_read_in_order arg
                    Use query plan for read-in-order
                    optimisation
  --query_plan_aggregation_in_order arg
                    Use query plan for aggregation-in-order
                    optimisation
  --query_plan_remove_redundant_sorting arg
                    Remove redundant sorting in query plan.
                    For example, sorting steps related to
                    ORDER BY clauses in subqueries
  --query_plan_remove_redundant_distinct arg
                    Remove redundant Distinct step in query
                    plan
  --query_plan_optimize_projection arg
                    Use query plan for aggregation-in-order
                    optimisation
  --regexp_max_matches_per_row arg
                    Max matches of any single regexp per
                    row, used to safeguard
                    'extractAllGroupsHorizontal' against
                    consuming too much memory with greedy
                    RE.
  --limit arg       Limit on read rows from the most 'end'
                    result for select query, default 0
                    means no limit length
  --offset arg      Offset on read rows from the most 'end'
                    result for select query
  --function_range_max_elements_in_block arg
                    Maximum number of values generated by
                    function `range` per block of data (sum
                    of array sizes for every row in a
                    block, see also 'max_block_size' and
                    'min_insert_block_size_rows'). It is a
                    safety threshold.
  --function_sleep_max_microseconds_per_block arg
                    Maximum number of microseconds the
                    function `sleep` is allowed to sleep
                    for each block. If a user called it
                    with a larger value, it throws an
                    exception. It is a safety threshold.
  --short_circuit_function_evaluation arg
                    Setting for short-circuit function
                    evaluation configuration. Possible
                    values: 'enable' - use short-circuit
                    function evaluation for functions that
                    are suitable for it, 'disable' -
                    disable short-circuit function
                    evaluation, 'force_enable' - use
                    short-circuit function evaluation for
                    all functions.
  --storage_file_read_method arg
                    Method of reading data from storage
                    file, one of: read, pread, mmap. The
                    mmap method does not apply to
                    clickhouse-server (it's intended for
                    clickhouse-local).
  --local_filesystem_read_method arg
                    Method of reading data from local
                    filesystem, one of: read, pread, mmap,
                    io_uring, pread_threadpool. The
                    'io_uring' method is experimental and
                    does not work for Log, TinyLog,
                    StripeLog, File, Set and Join, and
                    other tables with append-able files in
                    presence of concurrent reads and
                    writes.
  --remote_filesystem_read_method arg
                    Method of reading data from remote
                    filesystem, one of: read, threadpool.
  --local_filesystem_read_prefetch arg
                    Should use prefetching when reading
                    data from local filesystem.
  --remote_filesystem_read_prefetch arg
                    Should use prefetching when reading
                    data from remote filesystem.
  --read_priority arg
                    Priority to read data from local
                    filesystem or remote filesystem. Only
                    supported for 'pread_threadpool' method
                    for local filesystem and for
                    `threadpool` method for remote
                    filesystem.
  --merge_tree_min_rows_for_concurrent_read_for_remote_filesystem arg
                    If at least as many lines are read from
                    one file, the reading can be
                    parallelized, when reading from remote
                    filesystem.
  --merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem arg
                    If at least as many bytes are read from
                    one file, the reading can be
                    parallelized, when reading from remote
                    filesystem.
  --remote_read_min_bytes_for_seek arg
                    Min bytes required for remote read
                    (url, s3) to do seek, instead of read
                    with ignore.
  --merge_tree_min_bytes_per_task_for_remote_reading arg
                    Min bytes to read per task.
  --merge_tree_use_const_size_tasks_for_remote_reading arg
                    Whether to use constant size tasks for
                    reading from a remote table.
  --merge_tree_determine_task_size_by_prewhere_columns arg
                    Whether to use only prewhere columns
                    size to determine reading task size.
  --async_insert arg
                    If true, data from INSERT query is
                    stored in queue and later flushed to
                    table in background. If
                    wait_for_async_insert is false, INSERT
                    query is processed almost instantly,
                    otherwise client will wait until data
                    will be flushed to table
  --wait_for_async_insert arg
                    If true wait for processing of
                    asynchronous insertion
  --wait_for_async_insert_timeout arg
                    Timeout for waiting for processing
                    asynchronous insertion
  --async_insert_max_data_size arg
                    Maximum size in bytes of unparsed data
                    collected per query before being
                    inserted
  --async_insert_max_query_number arg
                    Maximum number of insert queries before
                    being inserted
  --async_insert_busy_timeout_ms arg
                    Maximum time to wait before dumping
                    collected data per query since the
                    first data appeared
  --remote_fs_read_max_backoff_ms arg
                    Max wait time when trying to read data
                    for remote disk
  --remote_fs_read_backoff_max_tries arg
                    Max attempts to read with backoff
  --enable_filesystem_cache arg
                    Use cache for remote filesystem. This
                    setting does not turn on/off cache for
                    disks (must be done via disk config),
                    but allows to bypass cache for some
                    queries if intended
  --enable_filesystem_cache_on_write_operations arg
                    Write into cache on write operations.
                    To actually work this setting requires
                    be added to disk config too
  --enable_filesystem_cache_log arg
                    Allows to record the filesystem caching
                    log for each query
  --read_from_filesystem_cache_if_exists_otherwise_bypass_cache arg
                    Allow to use the filesystem cache in
                    passive mode - benefit from the
                    existing cache entries, but don't put
                    more entries into the cache. If you set
                    this setting for heavy ad-hoc queries
                    and leave it disabled for short
                    real-time queries, this will allows to
                    avoid cache threshing by too heavy
                    queries and to improve the overall
                    system efficiency.
  --skip_download_if_exceeds_query_cache arg
                    Skip download from remote filesystem if
                    exceeds query cache size
  --filesystem_cache_max_download_size arg
                    Max remote filesystem cache size that
                    can be downloaded by a single query
  --throw_on_error_from_cache_on_write_operations arg
                    Ignore error from cache when caching on
                    write operations (INSERT, merges)
  --load_marks_asynchronously arg
                    Load MergeTree marks asynchronously
  --enable_filesystem_read_prefetches_log arg
                    Log to system.filesystem prefetch_log
                    during query. Should be used only for
                    testing or debugging, not recommended
                    to be turned on by default
  --allow_prefetched_read_pool_for_remote_filesystem arg
                    Prefer prefethed threadpool if all
                    parts are on remote filesystem
  --allow_prefetched_read_pool_for_local_filesystem arg
                    Prefer prefethed threadpool if all
                    parts are on remote filesystem
  --prefetch_buffer_size arg
                    The maximum size of the prefetch buffer
                    to read from the filesystem.
  --filesystem_prefetch_step_bytes arg
                    Prefetch step in bytes. Zero means
                    `auto` - approximately the best
                    prefetch step will be auto deduced, but
                    might not be 100% the best. The actual
                    value might be different because of
                    setting filesystem_prefetch_min_bytes_f
                    or_single_read_task
  --filesystem_prefetch_step_marks arg
                    Prefetch step in marks. Zero means
                    `auto` - approximately the best
                    prefetch step will be auto deduced, but
                    might not be 100% the best. The actual
                    value might be different because of
                    setting filesystem_prefetch_min_bytes_f
                    or_single_read_task
  --filesystem_prefetch_min_bytes_for_single_read_task arg
                    Do not parallelize within one file read
                    less than this amount of bytes. E.g.
                    one reader will not receive a read task
                    of size less than this amount. This
                    setting is recommended to avoid spikes
                    of time for aws getObject requests to
                    aws
  --filesystem_prefetch_max_memory_usage arg
                    Maximum memory usage for prefetches
  --filesystem_prefetches_limit arg
                    Maximum number of prefetches. Zero
                    means unlimited. A setting
                    `filesystem_prefetches_max_memory_usage
                    ` is more recommended if you want to
                    limit the number of prefetches
  --use_structure_from_insertion_table_in_table_functions arg
                    Use structure from insertion table
                    instead of schema inference from data.
                    Possible values: 0 - disabled, 1 -
                    enabled, 2 - auto
  --http_max_tries arg
                    Max attempts to read via http.
  --http_retry_initial_backoff_ms arg
                    Min milliseconds for backoff, when
                    retrying read via http
  --http_retry_max_backoff_ms arg
                    Max milliseconds for backoff, when
                    retrying read via http
  --force_remove_data_recursively_on_drop arg
                    Recursively remove data on DROP query.
                    Avoids 'Directory not empty' error, but
                    may silently remove detached data
  --check_table_dependencies arg
                    Check that DDL query (such as DROP
                    TABLE or RENAME) will not break
                    dependencies
  --check_referential_table_dependencies arg
                    Check that DDL query (such as DROP
                    TABLE or RENAME) will not break
                    referential dependencies
  --use_local_cache_for_remote_storage arg
                    Use local cache for remote storage like
                    HDFS or S3, it's used for remote table
                    engine only
  --allow_unrestricted_reads_from_keeper arg
                    Allow unrestricted (without condition
                    on path) reads from system.zookeeper
                    table, can be handy, but is not safe
                    for zookeeper
  --allow_deprecated_database_ordinary arg
                    Allow to create databases with
                    deprecated Ordinary engine
  --allow_deprecated_syntax_for_merge_tree arg
                    Allow to create *MergeTree tables with
                    deprecated engine definition syntax
  --allow_asynchronous_read_from_io_pool_for_merge_tree arg
                    Use background I/O pool to read from
                    MergeTree tables. This setting may
                    increase performance for I/O bound
                    queries
  --max_streams_for_merge_tree_reading arg
                    If is not zero, limit the number of
                    reading streams for MergeTree table.
  --force_grouping_standard_compatibility arg
                    Make GROUPING function to return 1 when
                    argument is not used as an aggregation
                    key
  --schema_inference_use_cache_for_file arg
                    Use cache in schema inference while
[truncated]
Options (600)
OptionDescriptionSource
--helpproduce help messagehelp
--port arglist of portshelp
--roundrobinInstead of comparing queries for different --host/--port just pick one random --host/--port for every query and send query to it.help
--cumulativeprints cumulative data instead of data per intervalhelp
-sUse TLS connectionhelp
--password arghelp
--quota_key arghelp
--stacktraceprint stack traces of exceptionshelp
--query_id arghelp
--ignore-errorcontinue testing even if a query failshelp
--reconnectestablish new connection for every queryhelp
--client-side-timedisplay the time including network communication instead of server-side time;help
--dialect argWhich dialect will be used to parse queryhelp
--min_compress_block_size argThe actual size of the block to compress, if the uncompressed data less than max_compress_block_size is no less than this value and no less than the volume of data for one mark.help
--max_compress_block_size argThe maximum size of blocks of uncompressed data before compressing for writing to a table.help
--max_block_size argMaximum block size for readinghelp
--max_insert_block_size argThe maximum block size for insertion, if we control the creation of blocks for insertion.help
--min_insert_block_size_rows argSquash blocks passed to INSERT query to specified size in rows, if blocks are not big enough.help
--min_insert_block_size_bytes argSquash blocks passed to INSERT query to specified size in bytes, if blocks are not big enough.help
--min_insert_block_size_rows_for_materialized_views argLike min_insert_block_size_rows, but applied only during pushing to MATERIALIZED VIEW (default: min_insert_block_size_rows)help
--min_insert_block_size_bytes_for_materialized_views argLike min_insert_block_size_bytes, but applied only during pushing to MATERIALIZED VIEW (default: min_insert_block_size_bytes)help
--max_joined_block_size_rows argMaximum block size for JOIN result (if join algorithm supports it).help
--max_insert_threads argThe maximum number of threads to execute the INSERT SELECT query.help
--max_insert_delayed_streams_for_parallel_write argThe maximum number of streams (columns) to delay final part flush.help
--max_final_threads argThe maximum number of threads to read from table with FINAL.help
--max_threads_for_indexes argThe maximum number of threads process indices.help
--use_concurrency_control argRespect the server's concurrency control (see the `concurrent_threads_so ft_limit_num` and `concurrent_threads_s oft_limit_ratio_to_cores` global server settings).help
--max_download_threads argThe maximum number of threads to download data (e.g. for URL engine).help
--max_download_buffer_size argThe maximal size of buffer for parallel downloading (e.g. for URL engine) per each thread.help
--max_read_buffer_size argThe maximum size of the buffer to read from the filesystem.help
--max_read_buffer_size_local_fs argThe maximum size of the buffer to read from local filesystem.help
--max_read_buffer_size_remote_fs argThe maximum size of the buffer to read from remote filesystem.help
--max_distributed_connections argThe maximum number of connections for distributed processing of one query (should be greater than max_threads).help
--max_query_size argThe maximum number of bytes of a query string parsed by the SQL parser.help
--interactive_delay argThe interval in microseconds to check if the request is cancelled, and to send progress info.help
--connect_timeout argConnection timeout if there are no replicas.help
--handshake_timeout_ms argTimeout for receiving HELLO packet from replicas.help
--connect_timeout_with_failover_ms argConnection timeout for selecting first healthy replica.help
--connect_timeout_with_failover_secure_ms argConnection timeout for selecting first healthy replica (for secure connections).help
--receive_timeout argTimeout for receiving data from network, in seconds.help
--send_timeout argTimeout for sending data to network, in seconds.help
--tcp_keep_alive_timeout argThe time in seconds the connection needs to remain idle before TCP starts sending keepalive probeshelp
--hedged_connection_timeout_ms argConnection timeout for establishing connection with replica for Hedged requestshelp
--receive_data_timeout_ms argConnection timeout for receiving first packet of data or packet with positive progress from replicahelp
--use_hedged_requests argUse hedged requests for distributed querieshelp
--allow_changing_replica_until_first_data_packet argAllow HedgedConnections to change replica until receiving first data packethelp
--queue_max_wait_ms argThe wait time in the request queue, if the number of concurrent requests exceeds the maximum.help
--connection_pool_max_wait_ms argThe wait time when the connection pool is full.help
--replace_running_query_max_wait_ms argThe wait time for running query with the same query_id to finish when setting 'replace_running_query' is active.help
--kafka_max_wait_ms argThe wait time for reading from Kafka before retry.help
--rabbitmq_max_wait_ms argThe wait time for reading from RabbitMQ before retry.help
--poll_interval argBlock at the query wait loop on the server for the specified number of seconds.help
--idle_connection_timeout argClose idle TCP connections after specified number of seconds.help
--distributed_connections_pool_size argMaximum number of connections with one remote server in the pool.help
--connections_with_failover_max_tries argThe maximum number of attempts to connect to replicas.help
--s3_strict_upload_part_size argThe exact size of part to upload during multipart upload to S3 (some implementations does not supports variable size parts).help
--s3_min_upload_part_size argThe minimum size of part to upload during multipart upload to S3.help
--s3_max_upload_part_size argThe maximum size of part to upload during multipart upload to S3.help
--s3_upload_part_size_multiply_factor argMultiply s3_min_upload_part_size by this factor each time s3_multiply_parts_count_threshold parts were uploaded from a single write to S3.help
--s3_upload_part_size_multiply_parts_count_threshold argEach time this number of parts was uploaded to S3, s3_min_upload_part_size is multiplied by s3_upload_part_size_mu ltiply_factor.help
--s3_max_inflight_parts_for_one_file argThe maximum number of a concurrent loaded parts in multipart upload request.help
--s3_max_single_part_upload_size argThe maximum size of object to upload using singlepart upload to S3.help
--azure_max_single_part_upload_size argThe maximum size of object to upload using singlepart upload to Azure blob storage.help
--s3_max_single_read_retries argThe maximum number of retries during single S3 read.help
--azure_max_single_read_retries argThe maximum number of retries during single Azure blob storage read.help
--s3_max_unexpected_write_error_retries argThe maximum number of retries in case of unexpected errors during S3 write.help
--s3_max_redirects argMax number of S3 redirects hops allowed.help
--s3_max_connections argThe maximum number of connections per server.help
--s3_max_get_rps argLimit on S3 GET request per second rate before throttling.help
--s3_max_get_burst argMax number of requests that can be issued simultaneously before hitting request per second limit.help
--s3_max_put_rps argLimit on S3 PUT request per second rate before throttling.help
--s3_max_put_burst argMax number of requests that can be issued simultaneously before hitting request per second limit.help
--s3_list_object_keys_size argMaximum number of files that could be returned in batch by ListObject requesthelp
--azure_list_object_keys_size argMaximum number of files that could be returned in batch by ListObject requesthelp
--s3_truncate_on_insert argEnables or disables truncate before insert in s3 engine tables.help
--azure_truncate_on_insert argEnables or disables truncate before insert in azure engine tables.help
--s3_create_new_file_on_insert argEnables or disables creating a new file on each insert in s3 engine tableshelp
--s3_skip_empty_files argAllow to skip empty files in s3 table enginehelp
--azure_create_new_file_on_insert argEnables or disables creating a new file on each insert in azure engine tableshelp
--s3_check_objects_after_upload argCheck each uploaded object to s3 with head request to be sure that upload was successfulhelp
--s3_allow_parallel_part_upload argUse multiple threads for s3 multipart upload.help
--s3_throw_on_zero_files_match argThrow an error, when ListObjects request cannot match any fileshelp
--s3_retry_attempts argSetting for Aws::Client::RetryStrategy, Aws::Client does retries itself, 0 means no retrieshelp
--s3_request_timeout_ms argIdleness timeout for sending and receiving data to/from S3.help
--enable_s3_requests_logging argEnable very explicit logging of S3 requests.help
--s3queue_default_zookeeper_path argDefault zookeeper path prefix for S3Queue enginehelp
--hdfs_replication argThe actual number of replications can be specified when the hdfs file is created.help
--hdfs_truncate_on_insert argEnables or disables truncate before insert in s3 engine tableshelp
--hdfs_create_new_file_on_insert argEnables or disables creating a new file on each insert in hdfs engine tableshelp
--hdfs_skip_empty_files argAllow to skip empty files in hdfs table enginehelp
--hsts_max_age argExpired time for hsts.help
--extremes argCalculate minimums and maximums of the result columns.help
--use_uncompressed_cache argWhether to use the cache of uncompressed blocks.help
--replace_running_query argWhether the running request should be canceled with the same id as the new one.help
--max_remote_read_network_bandwidth argThe maximum speed of data exchange over the network in bytes per second for read.help
--max_remote_write_network_bandwidth argThe maximum speed of data exchange over the network in bytes per second for write.help
--max_local_read_bandwidth argThe maximum speed of local reads in bytes per second.help
--max_local_write_bandwidth argThe maximum speed of local writes in bytes per second.help
--stream_like_engine_allow_direct_select argAllow direct SELECT query for Kafka, RabbitMQ, FileLog, Redis Streams and NATS engines.help
--stream_like_engine_insert_queue argWhen stream like engine reads from multiple queues, user will need to select one queue to insert into when writing.help
--distributed_directory_monitor_sleep_time_ms argSleep time for StorageDistributed DirectoryMonitors, in case of any errors delay grows exponentially.help
--distributed_directory_monitor_max_sleep_time_ms argMaximum sleep time for StorageDistributed DirectoryMonitors, it limits exponential growth too.help
--distributed_directory_monitor_batch_inserts argShould StorageDistributed DirectoryMonitors try to batch individual inserts into bigger ones.help
--distributed_directory_monitor_split_batch_on_failure argShould StorageDistributed DirectoryMonitors try to split batch into smaller in case of failures.help
--optimize_move_to_prewhere argAllows disabling WHERE to PREWHERE optimization in SELECT queries from MergeTree.help
--optimize_move_to_prewhere_if_final argIf query has `FINAL`, the optimization `move_to_prewhere` is not always correct and it is enabled only if both settings `optimize_move_to_prewhere` and `optimize_move_to_prewhere_if_final ` are…help
--move_all_conditions_to_prewhere argMove all viable conditions from WHERE to PREWHEREhelp
--enable_multiple_prewhere_read_steps argMove more conditions from WHERE to PREWHERE and do reads from disk and filtering in multiple steps if there are multiple conditions combined with ANDhelp
--move_primary_key_columns_to_end_of_prewhere argMove PREWHERE conditions containing primary key columns to the end of AND chain.help
--alter_sync argWait for actions to manipulate the partitions.help
--replication_alter_partitions_sync argWait for actions to manipulate the partitions.help
--replication_wait_for_inactive_replica_timeout argWait for inactive replica to execute ALTER/OPTIMIZE.help
--load_balancing argWhich replicas (among healthy replicas) to preferably send a query to (on the first attempt) for distributed processing.help
--load_balancing_first_offset argWhich replica to preferably send a query when FIRST_OR_RANDOM load balancing strategy is used.help
--totals_auto_threshold argThe threshold for totals_mode = 'auto'.help
--allow_suspicious_low_cardinality_types argIn CREATE TABLE statement allows specifying LowCardinality modifier for types of small fixed size (8 or less).help
--allow_suspicious_fixed_string_types argIn CREATE TABLE statement allows creating columns of type FixedString(n) with n > 256.help
--allow_suspicious_indices argReject primary/secondary indexes and sorting keys with identical expressionshelp
--compile_expressions argCompile some scalar functions and operators to native code.help
--min_count_to_compile_expression argThe number of identical expressions before they are JIT-compiledhelp
--compile_aggregate_expressions argCompile aggregate functions to native code.help
--min_count_to_compile_aggregate_expression argThe number of identical aggregate expressions before they are JIT-compiledhelp
--compile_sort_description argCompile sort description to native code.help
--min_count_to_compile_sort_description argThe number of identical sort descriptions before they are JIT-compiledhelp
--group_by_two_level_threshold argFrom what number of keys, a two-level aggregation starts.help
--group_by_two_level_threshold_bytes argFrom what size of the aggregation state in bytes, a two-level aggregation begins to be used.help
--distributed_aggregation_memory_efficient argIs the memory-saving mode of distributed aggregation enabled.help
--aggregation_memory_efficient_merge_threads argNumber of threads to use for merge intermediate aggregation results in memory efficient mode.help
--enable_memory_bound_merging_of_aggregation_results argEnable memory bound merging strategy for aggregation.help
--enable_positional_arguments argEnable positional arguments in ORDER BY, GROUP BY and LIMIT BYhelp
--enable_extended_results_for_datetime_functions argEnable date functions like toLastDayOfMonth return Date32 results (instead of Date results) for Date32/DateTime64 arguments.help
--allow_nonconst_timezone_arguments argAllow non-const timezone arguments in certain time-related functions like toTimeZone(), fromUnixTimestamp*(), snowflakeToDateTime*()help
--group_by_use_nulls argTreat columns mentioned in ROLLUP, CUBE or GROUPING SETS as Nullablehelp
--max_parallel_replicas argThe maximum number of replicas of each shard used when the query is executed.help
--parallel_replicas_count argThis is internal setting that should not be used directly and represents an implementation detail of the 'parallel replicas' mode.help
--parallel_replica_offset argThis is internal setting that should not be used directly and represents an implementation detail of the 'parallel replicas' mode.help
--parallel_replicas_custom_key argCustom key assigning work to replicas when parallel replicas are used.help
--parallel_replicas_custom_key_filter_type argType of filter to use with custom key for parallel replicas.help
--cluster_for_parallel_replicas argCluster for a shard in which current server is locatedhelp
--allow_experimental_parallel_reading_from_replicas argUse all the replicas from a shard for SELECT query execution.help
--parallel_replicas_single_task_marks_count_multiplier argA multiplier which will be added during calculation for minimal number of marks to retrieve from coordinator.help
--parallel_replicas_for_non_replicated_merge_tree argIf true, ClickHouse will use parallel replicas algorithm also for non-replicated MergeTree tableshelp
--parallel_replicas_min_number_of_granules_to_enable argIf the number of marks to read is less than the value of this setting - parallel replicas will be disabledhelp
--skip_unavailable_shards argIf true, ClickHouse silently skips unavailable shards and nodes unresolvable through DNS.help
--parallel_distributed_insert_select argProcess distributed INSERT SELECT query in the same cluster on local tables on every shard;help
--distributed_group_by_no_merge argIf 1, Do not merge aggregation states from different servers for distributed queries (shards will process query up to the Complete stage, initiator just proxies the data from the shards).help
--distributed_push_down_limit argIf 1, LIMIT will be applied on each shard separately.help
--optimize_distributed_group_by_sharding_key argOptimize GROUP BY sharding_key queries (by avoiding costly aggregation on the initiator server).help
--optimize_skip_unused_shards_limit argLimit for number of sharding key values, turns off optimize_skip_unused_ shards if the limit is reachedhelp
--optimize_skip_unused_shards argAssumes that data is distributed by sharding_key.help
--optimize_skip_unused_shards_rewrite_in argRewrite IN in query for remote shards to exclude values that does not belong to the shard (requires optimize_skip_unused_shards)help
--allow_nondeterministic_optimize_skip_unused_shards argAllow non-deterministic functions (includes dictGet) in sharding_key for optimize_skip_unused_shardshelp
--force_optimize_skip_unused_shards argThrow an exception if unused shards cannot be skipped (1 - throw only if the table has the sharding key, 2 - always throw.help
--optimize_skip_unused_shards_nesting argSame as optimize_skip_unused_shards, but accept nesting level until which it will work.help
--force_optimize_skip_unused_shards_nesting argSame as force_optimize_skip_unused_shar ds, but accept nesting level until which it will work.help
--input_format_parallel_parsing argEnable parallel parsing for some data formats.help
--min_chunk_bytes_for_parallel_parsing argThe minimum chunk size in bytes, which each thread will parse in parallel.help
--output_format_parallel_formatting argEnable parallel formatting for some data formats.help
--merge_tree_min_rows_for_concurrent_read argIf at least as many lines are read from one file, the reading can be parallelized.help
--merge_tree_min_bytes_for_concurrent_read argIf at least as many bytes are read from one file, the reading can be parallelized.help
--merge_tree_min_rows_for_seek argYou can skip reading more than that number of rows at the price of one seek per file.help
--merge_tree_min_bytes_for_seek argYou can skip reading more than that number of bytes at the price of one seek per file.help
--merge_tree_coarse_index_granularity argIf the index segment can contain the required keys, divide it into as many parts and recursively check them.help
--merge_tree_max_rows_to_use_cache argThe maximum number of rows per request, to use the cache of uncompressed data.help
--merge_tree_max_bytes_to_use_cache argThe maximum number of bytes per request, to use the cache of uncompressed data.help
--do_not_merge_across_partitions_select_final argMerge parts only in one partition in select finalhelp
--allow_experimental_inverted_index argIf it is set to true, allow to use experimental inverted index.help
--mysql_max_rows_to_insert argThe maximum number of rows in MySQL batch insertion of the MySQL storage enginehelp
--use_mysql_types_in_show_columns argUse MySQL converted types when connected via MySQL compatibility for show columns queryhelp
--optimize_min_equality_disjunction_chain_length argThe minimum length of the expression `expr = x1 OR ...help
--min_bytes_to_use_direct_io argThe minimum number of bytes for reading the data with O_DIRECT option during SELECT queries execution.help
--min_bytes_to_use_mmap_io argThe minimum number of bytes for reading the data with mmap option during SELECT queries execution.help
--checksum_on_read argValidate checksums on reading.help
--force_index_by_date argThrow an exception if there is a partition key in a table, and it is not used.help
--force_primary_key argThrow an exception if there is primary key in a table, and it is not used.help
--use_skip_indexes argUse data skipping indexes during query execution.help
--use_skip_indexes_if_final argIf query has FINAL, then skipping data based on indexes may produce incorrect result, hence disabled by default.help
--ignore_data_skipping_indices argComma separated list of strings or literals with the name of the data skipping indices that should be excluded during query execution.help
--force_data_skipping_indices argComma separated list of strings or literals with the name of the data skipping indices that should be used during query execution, otherwise an exception will be thrown.help
--max_streams_to_max_threads_ratio argAllows you to use more sources than the number of threads - to more evenly distribute work across threads.help
--max_streams_multiplier_for_merge_tables argAsk more streams when reading from Merge table.help
--network_compression_method argAllows you to select the method of data compression when writing.help
--network_zstd_compression_level argAllows you to select the level of ZSTD compression.help
--zstd_window_log_max argAllows you to select the max window log of ZSTD (it will not be used for MergeTree family)help
--priority argPriority of the query.help
--os_thread_priority argIf non zero - set corresponding 'nice' value for query processing threads.help
--log_formatted_queries argLog formatted queries and write the log to the system table.help
--log_queries_min_type argMinimal type in query_log to log, possible values (from low to high): QUERY_START, QUERY_FINISH, EXCEPTION_BEFORE_START, EXCEPTION_WHILE_PROCESSING.help
--log_queries_min_query_duration_ms argMinimal time for the query to run, to get to the query_log/query_thread_log/q uery_views_log.help
--log_queries_cut_to_length argIf query length is greater than specified threshold (in bytes), then cut query when writing to query log.help
--log_queries_probability argLog queries with the specified probabality.help
--log_processors_profiles argLog Processors profile events.help
--distributed_product_mode argHow are distributed subqueries performed inside IN or JOIN sections?help
--max_concurrent_queries_for_all_users argThe maximum number of concurrent requests for all users.help
--max_concurrent_queries_for_user argThe maximum number of concurrent requests per user.help
--insert_deduplicate argFor INSERT queries in the replicated table, specifies that deduplication of insertings blocks should be performedhelp
--async_insert_deduplicate argFor async INSERT queries in the replicated table, specifies that deduplication of insertings blocks should be performedhelp
--insert_quorum argFor INSERT queries in the replicated table, wait writing for the specified number of replicas and linearize the addition of the data.help
--insert_quorum_timeout argIf the quorum of replicas did not meet in specified time (in milliseconds), exception will be thrown and insertion is aborted.help
--insert_quorum_parallel argFor quorum INSERT queries - enable to make parallel inserts without linearizabilityhelp
--select_sequential_consistency argFor SELECT queries from the replicated table, throw an exception if the replica does not have a chunk written with the quorum;help
--table_function_remote_max_addresses argThe maximum number of different shards and the maximum number of replicas of one shard in the `remote` function.help
--read_backoff_min_latency_ms argSetting to reduce the number of threads in case of slow reads.help
--read_backoff_max_throughput argSettings to reduce the number of threads in case of slow reads.help
--read_backoff_min_interval_between_events_ms argSettings to reduce the number of threads in case of slow reads.help
--read_backoff_min_events argSettings to reduce the number of threads in case of slow reads.help
--read_backoff_min_concurrency argSettings to try keeping the minimal number of threads in case of slow reads.help
--memory_tracker_fault_probability argFor testing of `exception safety` - throw an exception every time you allocate memory with the specified probability.help
--enable_http_compression argCompress the result if the client over HTTP said that it understands data compressed by gzip, deflate, zstd, br, lz4, bz2, xz.help
--http_zlib_compression_level argCompression level - used if the client on HTTP said that it understands data compressed by gzip or deflate.help
--http_native_compression_disable_checksumming_on_decompress argIf you uncompress the POST data from the client compressed by the native format, do not check the checksum.help
--count_distinct_implementation argWhat aggregate function to use for implementation of count(DISTINCT ...)help
--add_http_cors_header argWrite add http CORS header.help
--max_http_get_redirects argMax number of http GET redirects hops allowed.help
--use_client_time_zone argUse client timezone for interpreting DateTime string values, instead of adopting server timezone.help
--send_progress_in_http_headers argSend progress notifications using X-ClickHouse-Progress headers.help
--http_headers_progress_interval_ms argDo not send HTTP headers X-ClickHouse-Progress more frequently than at each specified interval.help
--http_wait_end_of_query argEnable HTTP response buffering on the server-side.help
--http_write_exception_in_output_format argWrite exception in output format to produce valid output.help
--http_response_buffer_size argThe number of bytes to buffer in the server memory before sending a HTTP response to the client or flushing to disk (when http_wait_end_of_query is enabled).help
--fsync_metadata argDo fsync after changing metadata for tables and databases (.sql files).help
--join_use_nulls argUse NULLs for non-joined rows of outer JOINs for types that can be inside Nullable.help
--join_default_strictness argSet default strictness in JOIN query.help
--any_join_distinct_right_table_keys argEnable old ANY JOIN logic with many-to-one left-to-right table keys mapping for all ANY JOINs.help
--single_join_prefer_left_table argFor single JOIN in case of identifier ambiguity prefer left tablehelp
--preferred_block_size_bytes argThis setting adjusts the data block size for query processing and represents additional fine tune to the more rough 'max_block_size' setting.help
--max_replica_delay_for_distributed_queries argIf set, distributed queries of Replicated tables will choose servers with replication delay in seconds less than the specified value (not inclusive).help
--fallback_to_stale_replicas_for_distributed_queries argSuppose max_replica_delay_for_distribut ed_queries is set and all replicas for the queried table are stale.help
--preferred_max_column_in_block_size_bytes argLimit on max column size in block while reading.help
--parts_to_delay_insert argIf the destination table contains at least that many active parts in a single partition, artificially slow down insert into table.help
--parts_to_throw_insert argIf more than this number active parts in a single partition of the destination table, throw 'Too many parts ...' exception.help
--number_of_mutations_to_delay argIf the mutated table contains at least that many unfinished mutations, artificially slow down mutations of table.help
--number_of_mutations_to_throw argIf the mutated table contains at least that many unfinished mutations, throw 'Too many mutations ...' exception.help
--insert_distributed_sync argIf setting is enabled, insert query into distributed waits until data will be sent to all nodes in cluster.help
--insert_distributed_timeout argTimeout for insert query into distributed.help
--distributed_ddl_task_timeout argTimeout for DDL query responses from all hosts in cluster.help
--stream_flush_interval_ms argTimeout for flushing data from streaming storages.help
--stream_poll_timeout_ms argTimeout for polling data from/to streaming storages.help
--final argQuery with the FINAL modifier by default.help
--partial_result_on_first_cancel argAllows query to return a partial result after cancel.help
--ignore_on_cluster_for_replicated_udf_queries argIgnore ON CLUSTER clause for replicated UDF management queries.help
--ignore_on_cluster_for_replicated_access_entities_queries argIgnore ON CLUSTER clause for replicated access entities management queries.help
--sleep_in_send_tables_status_ms argTime to sleep in sending tables status response in TCPHandlerhelp
--sleep_in_send_data_ms argTime to sleep in sending data in TCPHandlerhelp
--sleep_after_receiving_query_ms argTime to sleep after receiving query in TCPHandlerhelp
--unknown_packet_in_send_data argSend unknown packet instead of data Nth data packethelp
--insert_allow_materialized_columns argIf setting is enabled, Allow materialized columns in INSERT.help
--http_connection_timeout argHTTP connection timeout.help
--http_send_timeout argHTTP send timeouthelp
--http_receive_timeout argHTTP receive timeouthelp
--http_max_uri_size argMaximum URI length of HTTP requesthelp
--http_max_fields argMaximum number of fields in HTTP headerhelp
--http_max_field_name_size argMaximum length of field name in HTTP headerhelp
--http_max_field_value_size argMaximum length of field value in HTTP headerhelp
--http_max_chunk_size argMaximum value of a chunk size in HTTP chunked transfer encodinghelp
--http_skip_not_found_url_for_globs argSkip url's for globs with HTTP_NOT_FOUND errorhelp
--optimize_throw_if_noop argIf setting is enabled and OPTIMIZE query didn't actually assign a merge then an explanatory exception is thrownhelp
--use_index_for_in_with_subqueries argTry using an index if there is a subquery or a table expression on the right side of the IN operator.help
--use_index_for_in_with_subqueries_max_values argThe maximum size of set in the right hand side of the IN operator to use table index for filtering.help
--joined_subquery_requires_alias argForce joined subqueries and table functions to have aliases for correct name qualification.help
--empty_result_for_aggregation_by_empty_set argReturn empty result when aggregating without keys on empty set.help
--empty_result_for_aggregation_by_constant_keys_on_empty_set argReturn empty result when aggregating by constant keys on empty set.help
--allow_distributed_ddl argIf it is set to true, then a user is allowed to executed distributed DDL queries.help
--allow_suspicious_codecs argIf it is set to true, allow to specify meaningless compression codecs.help
--allow_experimental_codecs argIf it is set to true, allow to specify experimental compression codecs (but we don't have those yet and this option does nothing).help
--enable_deflate_qpl_codec argEnable/disable the DEFLATE_QPL codec.help
--query_profiler_real_time_period_ns argPeriod for real clock timer of query profiler (in nanoseconds).help
--query_profiler_cpu_time_period_ns argPeriod for CPU clock timer of query profiler (in nanoseconds).help
--metrics_perf_events_enabled argIf enabled, some of the perf events will be measured throughout queries' execution.help
--metrics_perf_events_list argComma separated list of perf metrics that will be measured throughout queries' execution.help
--opentelemetry_start_trace_probability argProbability to start an OpenTelemetry trace for an incoming query.help
--opentelemetry_trace_processors argCollect OpenTelemetry spans for processors.help
--prefer_column_name_to_alias argPrefer using column names instead of aliases if possible.help
--allow_experimental_analyzer argAllow experimental analyzerhelp
--prefer_global_in_and_join argIf enabled, all IN/JOIN operators will be rewritten as GLOBAL IN/JOIN.help
--max_rows_to_read argLimit on read rows from the most 'deep' sources.help
--max_bytes_to_read argLimit on read bytes (after decompression) from the most 'deep' sources.help
--read_overflow_mode argWhat to do when the limit is exceeded.help
--max_rows_to_read_leaf argLimit on read rows on the leaf nodes for distributed queries.help
--max_bytes_to_read_leaf argLimit on read bytes (after decompression) on the leaf nodes for distributed queries.help
--read_overflow_mode_leaf argWhat to do when the leaf limit is exceeded.help
--max_rows_to_group_by argIf aggregation during GROUP BY is generating more than specified number of rows (unique GROUP BY keys), the behavior will be determined by the 'group_by_overflow_mode' which by default is - throw an…help
--group_by_overflow_mode argWhat to do when the limit is exceeded.help
--max_bytes_before_external_group_by argIf memory usage during GROUP BY operation is exceeding this threshold in bytes, activate the 'external aggregation' mode (spill data to disk).help
--max_rows_to_sort argIf more than specified amount of records have to be processed for ORDER BY operation, the behavior will be determined by the 'sort_overflow_mode' which by default is - throw an exceptionhelp
--max_bytes_to_sort argIf more than specified amount of (uncompressed) bytes have to be processed for ORDER BY operation, the behavior will be determined by the 'sort_overflow_mode' which by default is - throw an exceptionhelp
--sort_overflow_mode argWhat to do when the limit is exceeded.help
--max_bytes_before_external_sort argIf memory usage during ORDER BY operation is exceeding this threshold in bytes, activate the 'external sorting' mode (spill data to disk).help
--max_bytes_before_remerge_sort argIn case of ORDER BY with LIMIT, when memory usage is higher than specified threshold, perform additional steps of merging blocks before final merge to keep just top LIMIT rows.help
--remerge_sort_lowered_memory_bytes_ratio argIf memory usage after remerge does not reduced by this ratio, remerge will be disabled.help
--max_result_rows argLimit on result size in rows.help
--max_result_bytes argLimit on result size in bytes (uncompressed).help
--result_overflow_mode argWhat to do when the limit is exceeded.help
--max_execution_time argIf query run time exceeded the specified number of seconds, the behavior will be determined by the 'timeout_overflow_mode' which by default is - throw an exception.help
--timeout_overflow_mode argWhat to do when the limit is exceeded.help
--min_execution_speed argMinimum number of execution rows per second.help
--max_execution_speed argMaximum number of execution rows per second.help
--min_execution_speed_bytes argMinimum number of execution bytes per second.help
--max_execution_speed_bytes argMaximum number of execution bytes per second.help
--timeout_before_checking_execution_speed argCheck that the speed is not too low after the specified time has elapsed.help
--max_columns_to_read argIf a query requires reading more than specified number of columns, exception is thrown.help
--max_temporary_columns argIf a query generates more than the specified number of temporary columns in memory as a result of intermediate calculation, exception is thrown.help
--max_temporary_non_const_columns argSimilar to the 'max_temporary_columns' setting but applies only to non-constant columns.help
--max_sessions_for_user argMaximum number of simultaneous sessions for a user.help
--max_subquery_depth argIf a query has more than specified number of nested subqueries, throw an exception.help
--max_analyze_depth argMaximum number of analyses performed by interpreter.help
--max_ast_depth argMaximum depth of query syntax tree.help
--max_ast_elements argMaximum size of query syntax tree in number of nodes.help
--max_expanded_ast_elements argMaximum size of query syntax tree in number of nodes after expansion of aliases and the asterisk.help
--readonly arg0 - no read-only restrictions.help
--max_rows_in_set argMaximum size of the set (in number of elements) resulting from the execution of the IN section.help
--max_bytes_in_set argMaximum size of the set (in bytes in memory) resulting from the execution of the IN section.help
--set_overflow_mode argWhat to do when the limit is exceeded.help
--max_rows_in_join argMaximum size of the hash table for JOIN (in number of rows).help
--max_bytes_in_join argMaximum size of the hash table for JOIN (in number of bytes in memory).help
--join_overflow_mode argWhat to do when the limit is exceeded.help
--join_any_take_last_row argWhen disabled (default) ANY JOIN will take the first found row for a key.help
--join_algorithm argSpecify join algorithm.help
--default_max_bytes_in_join argMaximum size of right-side table if limit is required but max_bytes_in_join is not set.help
--partial_merge_join_left_table_buffer_bytes argIf not 0 group left table blocks in bigger ones for left-side table in partial merge join.help
--partial_merge_join_rows_in_right_blocks argSplit right-hand joining data in blocks of specified size.help
--join_on_disk_max_files_to_merge argFor MergeJoin on disk set how much files it's allowed to sort simultaneously.help
--max_rows_in_set_to_optimize_join argMaximal size of the set to filter joined tables by each other row sets before joining.help
--compatibility_ignore_collation_in_create_table argCompatibility ignore collation in create tablehelp
--temporary_files_codec argSet compression codec for temporary files (sort and join on disk).help
--max_rows_to_transfer argMaximum size (in rows) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed.help
--max_bytes_to_transfer argMaximum size (in uncompressed bytes) of the transmitted external table obtained when the GLOBAL IN/JOIN section is executed.help
--transfer_overflow_mode argWhat to do when the limit is exceeded.help
--max_rows_in_distinct argMaximum number of elements during execution of DISTINCT.help
--max_bytes_in_distinct argMaximum total size of state (in uncompressed bytes) in memory for the execution of DISTINCT.help
--distinct_overflow_mode argWhat to do when the limit is exceeded.help
--max_memory_usage argMaximum memory usage for processing of single query.help
--memory_overcommit_ratio_denominator argIt represents soft memory limit on the user level.help
--max_memory_usage_for_user argMaximum memory usage for processing all concurrently running queries for the user.help
--memory_overcommit_ratio_denominator_for_user argIt represents soft memory limit on the global level.help
--max_untracked_memory argSmall allocations and deallocations are grouped in thread local variable and tracked or profiled only when amount (in absolute value) becomes larger than specified value.help
--memory_profiler_step argWhenever query memory usage becomes larger than every next step in number of bytes the memory profiler will collect the allocating stack trace.help
--memory_profiler_sample_probability argCollect random allocations and deallocations and write them into system.trace_log with 'MemorySample' trace_type.help
--memory_profiler_sample_min_allocation_size argCollect random allocations of size greater or equal than specified value with probability equal to `memory_profiler_sample_probability`.help
--memory_profiler_sample_max_allocation_size argCollect random allocations of size less or equal than specified value with probability equal to `memory_profiler_sample_probability`.help
--trace_profile_events argSend to system.trace_log profile event and value of increment on each increment with 'ProfileEvent' trace_typehelp
--memory_usage_overcommit_max_wait_microseconds argMaximum time thread will wait for memory to be freed in the case of memory overcommit.help
--max_network_bandwidth argThe maximum speed of data exchange over the network in bytes per second for a query.help
--max_network_bytes argThe maximum number of bytes (compressed) to receive or transmit over the network for execution of the query.help
--max_network_bandwidth_for_user argThe maximum speed of data exchange over the network in bytes per second for all concurrently running user queries.help
--max_network_bandwidth_for_all_users argThe maximum speed of data exchange over the network in bytes per second for all concurrently running queries.help
--max_temporary_data_on_disk_size_for_user argThe maximum amount of data consumed by temporary files on disk in bytes for all concurrently running user queries.help
--max_temporary_data_on_disk_size_for_query argThe maximum amount of data consumed by temporary files on disk in bytes for all concurrently running queries.help
--backup_restore_keeper_max_retries argMax retries for keeper operations during backup or restorehelp
--backup_restore_keeper_retry_initial_backoff_ms argInitial backoff timeout for [Zoo]Keeper operations during backup or restorehelp
--backup_restore_keeper_retry_max_backoff_ms argMax backoff timeout for [Zoo]Keeper operations during backup or restorehelp
--backup_restore_keeper_fault_injection_probability argApproximate probability of failure for a keeper request during backup or restore.help
--backup_restore_keeper_fault_injection_seed arg0 - random seed, otherwise the setting valuehelp
--backup_restore_keeper_value_max_size argMaximum size of data of a [Zoo]Keeper's node during backuphelp
--backup_restore_batch_size_for_keeper_multiread argMaximum size of batch for multiread request to [Zoo]Keeper during backup or restorehelp
--max_backup_bandwidth argThe maximum read speed in bytes per second for particular backup on server.help
--log_profile_events argLog query performance statistics into the query_log, query_thread_log and query_views_log.help
--log_query_settings argLog query settings into the query_log.help
--log_query_threads argLog query threads into system.query_thread_log table.help
--log_query_views argLog query dependent views into system.query_views_log table.help
--send_logs_level argSend server text logs with specified minimum level to client.help
--send_logs_source_regexp argSend server text logs with specified regexp to match log source name.help
--enable_optimize_predicate_expression argIf it is set to true, optimize predicates to subqueries.help
--enable_optimize_predicate_expression_to_final_subquery argAllow push predicate to final subquery.help
--allow_push_predicate_when_subquery_contains_with argAllows push predicate when subquery contains WITH clausehelp
--low_cardinality_max_dictionary_size argMaximum size (in rows) of shared global dictionary for LowCardinality type.help
--low_cardinality_use_single_dictionary_for_part argLowCardinality type serialization setting.help
--decimal_check_overflow argCheck overflow of decimal arithmetic/comparison operationshelp
--allow_custom_error_code_in_throwif argEnable custom error code in function throwIf().help
--prefer_localhost_replica argIf it's true then queries will be always sent to local replica (if it exists).help
--max_fetch_partition_retries_count argAmount of retries while fetching partition from another host.help
--http_max_multipart_form_data_size argLimit on size of multipart/form-data content.help
--calculate_text_stack_trace argCalculate text stack trace in case of exceptions during query execution.help
--enable_job_stack_trace argOutput stack trace of a job creator when job results in exceptionhelp
--allow_ddl argIf it is set to true, then a user is allowed to executed DDL queries.help
--parallel_view_processing argEnables pushing to attached views concurrently instead of sequentially.help
--enable_unaligned_array_join argAllow ARRAY JOIN with multiple arrays that have different sizes.help
--optimize_read_in_order argEnable ORDER BY optimization for reading data in corresponding order in MergeTree tables.help
--optimize_read_in_window_order argEnable ORDER BY optimization in window clause for reading data in corresponding order in MergeTree tables.help
--optimize_aggregation_in_order argEnable GROUP BY optimization for aggregating data in corresponding order in MergeTree tables.help
--aggregation_in_order_max_block_bytes argMaximal size of block in bytes accumulated during aggregation in order of primary key.help
--read_in_order_two_level_merge_threshold argMinimal number of parts to read to run preliminary merge step during multithread reading in order of primary key.help
--low_cardinality_allow_in_native_format argUse LowCardinality type in Native format.help
--cancel_http_readonly_queries_on_client_close argCancel HTTP readonly queries when a client closes the connection without waiting for response.help
--external_table_functions_use_nulls argIf it is set to true, external table functions will implicitly use Nullable type if needed.help
--external_table_strict_query argIf it is set to true, transforming expression to local filter is forbidden for queries to external tables.help
--allow_hyperscan argAllow functions that use Hyperscan library.help
--max_hyperscan_regexp_length argMax length of regexp than can be used in hyperscan multi-match functions.help
--max_hyperscan_regexp_total_length argMax total length of all regexps than can be used in hyperscan multi-match functions (per every function).help
--reject_expensive_hyperscan_regexps argReject patterns which will likely be expensive to evaluate with hyperscan (due to NFA state explosion)help
--allow_simdjson argAllow using simdjson library in 'JSON*' functions if AVX2 instructions are available.help
--allow_introspection_functions argAllow functions for introspection of ELF and DWARF for query profiling.help
--allow_execute_multiif_columnar argAllow execute multiIf function columnarhelp
--formatdatetime_f_prints_single_zero argFormatter '%f' in function 'formatDateTime()' produces a single zero instead of six zeros if the formatted value has no fractional seconds.help
--formatdatetime_parsedatetime_m_is_month_name argFormatter '%M' in functions 'formatDateTime()' and 'parseDateTime()' produces the month name instead of minutes.help
--max_partitions_per_insert_block argLimit maximum number of partitions in single INSERTed block.help
--throw_on_max_partitions_per_insert_block argUsed with max_partitions_per_insert_blo ck.help
--max_partitions_to_read argLimit the max number of partitions that can be accessed in one query.help
--check_query_single_value_result argReturn check query result as single 1/0 valuehelp
--allow_drop_detached argAllow ALTER TABLE ...help
--postgresql_connection_pool_size argConnection pool size for PostgreSQL table engine and database engine.help
--postgresql_connection_pool_wait_timeout argConnection pool push/pop timeout on empty pool for PostgreSQL table engine and database engine.help
--postgresql_connection_pool_auto_close_connection argClose connection before returning connection to the pool.help
--glob_expansion_max_elements argMaximum number of allowed addresses (For external storages, table functions, etc).help
--odbc_bridge_connection_pool_size argConnection pool size for each connection settings string in ODBC bridge.help
--odbc_bridge_use_connection_pooling argUse connection pooling in ODBC bridge.help
--distributed_replica_error_half_life argTime period reduces replica error counter by 2 times.help
--distributed_replica_error_cap argMax number of errors per replica, prevents piling up an incredible amount of errors if replica was offline for some time and allows it to be reconsidered in a shorter amount of time.help
--distributed_replica_max_ignored_errors argNumber of errors that will be ignored while choosing replicashelp
--allow_experimental_live_view argEnable LIVE VIEW.help
--live_view_heartbeat_interval argThe heartbeat interval in seconds to indicate live query is alive.help
--max_live_view_insert_blocks_before_refresh argLimit maximum number of inserted blocks after which mergeable blocks are dropped and query is re-executed.help
--allow_experimental_window_view argEnable WINDOW VIEW.help
--window_view_clean_interval argThe clean interval of window view in seconds to free outdated data.help
--window_view_heartbeat_interval argThe heartbeat interval in seconds to indicate watch query is alive.help
--wait_for_window_view_fire_signal_timeout argTimeout for waiting for window view fire signal in event time processinghelp
--min_free_disk_space_for_temporary_data argThe minimum disk space to keep while writing temporary data used in external sorting and aggregation.help
--default_temporary_table_engine argDefault table engine used when ENGINE is not set in CREATE TEMPORARY statement.help
--default_table_engine argDefault table engine used when ENGINE is not set in CREATE statement.help
--show_table_uuid_in_table_create_query_if_not_nil argFor tables in databases with Engine=Atomic show UUID of the table in its CREATE query.help
--database_atomic_wait_for_drop_and_detach_synchronously argWhen executing DROP or DETACH TABLE in Atomic database, wait for table data to be finally dropped or detached.help
--enable_scalar_subquery_optimization argIf it is set to true, prevent scalar subqueries from (de)serializing large scalar values and possibly avoid running the same subquery more than once.help
--optimize_trivial_count_query argProcess trivial 'SELECT count() FROM table' query from metadata.help
--optimize_count_from_files argOptimize counting rows from files in supported input formatshelp
--use_cache_for_count_from_files argUse cache to count the number of rows in fileshelp
--optimize_respect_aliases argIf it is set to true, it will respect aliases in WHERE/GROUP BY/ORDER BY, that will help with partition pruning/secondary indexes/optimize_aggr egation_in_order/optimize_read_in_order…help
--mutations_sync argWait for synchronous execution of ALTER TABLE UPDATE/DELETE queries (mutations).help
--enable_lightweight_delete argEnable lightweight DELETE mutations for mergetree tables.help
--allow_experimental_lightweight_delete argEnable lightweight DELETE mutations for mergetree tables.help
--optimize_move_functions_out_of_any argMove functions out of aggregate functions 'any', 'anyLast'.help
--optimize_normalize_count_variants argRewrite aggregate functions that semantically equals to count() as count().help
--optimize_injective_functions_inside_uniq argDelete injective functions of one argument inside uniq*() functions.help
--rewrite_count_distinct_if_with_count_distinct_implementation argRewrite countDistinctIf with count_distinct_implementation configurationhelp
--convert_query_to_cnf argConvert SELECT query to CNFhelp
--optimize_or_like_chain argOptimize multiple OR LIKE into multiMatchAny.help
--optimize_arithmetic_operations_in_aggregate_functions argMove arithmetic operations out of aggregation functionshelp
--optimize_redundant_functions_in_order_by argRemove functions from ORDER BY if its argument is also in ORDER BYhelp
--optimize_if_chain_to_multiif argReplace if(cond1, then1, if(cond2, ...)) chains to multiIf.help
--optimize_multiif_to_if argReplace 'multiIf' with only one condition to 'if'.help
--optimize_if_transform_strings_to_enum argReplaces string-type arguments in If and Transform to enum.help
--optimize_monotonous_functions_in_order_by argReplace monotonous function with its argument in ORDER BYhelp
--optimize_functions_to_subcolumns argTransform functions to subcolumns, if possible, to reduce amount of read data.help
--optimize_using_constraints argUse constraints for query optimizationhelp
--optimize_substitute_columns argUse constraints for column substitutionhelp
--optimize_append_index argUse constraints in order to append index condition (indexHint)help
--normalize_function_names argNormalize function names to their canonical nameshelp
--allow_experimental_alter_materialized_view_structure argAllow atomic alter on Materialized views.help
--enable_early_constant_folding argEnable query optimization where we analyze function and subqueries results and rewrite query if there're constants therehelp
--deduplicate_blocks_in_dependent_materialized_views argShould deduplicate blocks for materialized views if the block is not a duplicate for the table.help
--materialized_views_ignore_errors argAllows to ignore errors for MATERIALIZED VIEW, and deliver original block to the table regardless of MVshelp
--use_compact_format_in_distributed_parts_names argChanges format of directories names for distributed table insert parts.help
--validate_polygons argThrow exception if polygon is invalid in function pointInPolygon (e.g. self-tangent, self-intersecting).help
--max_parser_depth argMaximum parser depth (recursion depth of recursive descend parser).help
--allow_settings_after_format_in_insert argAllow SETTINGS after FORMAT, but note, that this is not always safe (note: this is a compatibility setting).help
--periodic_live_view_refresh argInterval after which periodically refreshed live view is forced to refresh.help
--transform_null_in argIf enabled, NULL values will be matched with 'IN' operator as if they are considered equal.help
--allow_nondeterministic_mutations argAllow non-deterministic functions in ALTER UPDATE/ALTER DELETE statementshelp
--lock_acquire_timeout argHow long locking request should wait before failinghelp
--materialize_ttl_after_modify argApply TTL for old data, after ALTER MODIFY TTL queryhelp
--function_implementation argChoose function implementation for specific target or variant (experimental).help
--data_type_default_nullable argData types without NULL or NOT NULL will make Nullablehelp
--cast_keep_nullable argCAST operator keep Nullable for result data typehelp
--cast_ipv4_ipv6_default_on_conversion_error argCAST operator into IPv4, CAST operator into IPV6 type, toIPv4, toIPv6 functions will return default value instead of throwing exception on conversion error.help
--alter_partition_verbose_result argOutput information about affected parts.help
--allow_experimental_database_materialized_mysql argAllow to create database with Engine=MaterializedMySQL(...).help
--allow_experimental_database_materialized_postgresql argAllow to create database with Engine=MaterializedPostgreSQL(...).help
--system_events_show_zero_values argWhen querying system.events or system.metrics tables, include all metrics, even with zero values.help
--mysql_datatypes_support_level argWhich MySQL types should be converted to corresponding ClickHouse types (rather than being represented as String).help
--optimize_trivial_insert_select argOptimize trivial 'INSERT INTO table SELECT ...help
--allow_non_metadata_alters argAllow to execute alters which affects not only tables metadata, but also data on diskhelp
--enable_global_with_statement argPropagate WITH statements to UNION queries and all subquerieshelp
--aggregate_functions_null_for_empty argRewrite all aggregate functions in a query, adding -OrNull suffix to themhelp
--optimize_syntax_fuse_functions argAllow apply fuse aggregating function.help
--flatten_nested argIf true, columns of type Nested will be flatten to separate array columns instead of one array of tupleshelp
--asterisk_include_materialized_columns argInclude MATERIALIZED columns for wildcard queryhelp
--asterisk_include_alias_columns argInclude ALIAS columns for wildcard queryhelp
--optimize_skip_merged_partitions argSkip partitions with one part with level > 0 in optimize finalhelp
--optimize_on_insert argDo the same transformation for inserted block of data as if merge was done on this block.help
--optimize_use_projections argAutomatically choose projections to perform SELECT queryhelp
--allow_experimental_projection_optimization argAutomatically choose projections to perform SELECT queryhelp
--optimize_use_implicit_projections argAutomatically choose implicit projections to perform SELECT queryhelp
--force_optimize_projection argIf projection optimization is enabled, SELECT queries need to use projectionhelp
--preferred_optimize_projection_name argIf it is set to a non-empty string, ClickHouse tries to apply specified projectionhelp
--async_socket_for_remote argAsynchronously read from socket executing remote queryhelp
--async_query_sending_for_remote argAsynchronously create connections and send query to shards in remote queryhelp
--insert_null_as_default argInsert DEFAULT values instead of NULL in INSERT SELECT (UNION ALL)help
--describe_extend_object_types argDeduce concrete type of columns of type Object in DESCRIBE queryhelp
--describe_include_subcolumns argIf true, subcolumns of all table columns will be included into result of DESCRIBE queryhelp
--mutations_execute_nondeterministic_on_initiator argIf true nondeterministic function are executed on initiator and replaced to literals in UPDATE and DELETE querieshelp
--mutations_execute_subqueries_on_initiator argIf true scalar subqueries are executed on initiator and replaced to literals in UPDATE and DELETE querieshelp
--mutations_max_literal_size_to_replace argThe maximum size of serialized literal in bytes to replace in UPDATE and DELETE querieshelp
--use_query_cache argEnable the query cachehelp
--enable_writes_to_query_cache argEnable storing results of SELECT queries in the query cachehelp
--enable_reads_from_query_cache argEnable reading results of SELECT queries from the query cachehelp
--query_cache_store_results_of_queries_with_nondeterministic_functions argStore results of queries with non-deterministic functions (e.g. rand(), now()) in the query cachehelp
--query_cache_max_size_in_bytes argThe maximum amount of memory (in bytes) the current user may allocate in the query cache.help
--query_cache_max_entries argThe maximum number of query results the current user may store in the query cache.help
--query_cache_min_query_runs argMinimum number a SELECT query must run before its result is stored in the query cachehelp
--query_cache_min_query_duration argMinimum time in milliseconds for a query to run for its result to be stored in the query cache.help
--query_cache_compress_entries argCompress cache entries.help
--query_cache_squash_partial_results argSquash partial result blocks to blocks of size 'max_block_size'.help
--query_cache_ttl argAfter this time in seconds entries in the query cache become stalehelp
--query_cache_share_between_users argAllow other users to read entry in the query cachehelp
--enable_sharing_sets_for_mutations argAllow sharing set objects build for IN subqueries between different tasks of the same mutation.help
--optimize_rewrite_sum_if_to_count_if argRewrite sumIf() and sum(if()) function countIf() function when logically equivalenthelp
--optimize_rewrite_aggregate_function_with_if argRewrite aggregate functions with if expression as argument when logically equivalent.help
--optimize_rewrite_array_exists_to_has argRewrite arrayExists() functions to has() when logically equivalent.help
--insert_shard_id argIf non zero, when insert into a distributed table, the data will be inserted into the shard `insert_shard_id` synchronously.help
--collect_hash_table_stats_during_aggregation argEnable collecting hash table statistics to optimize memory allocationhelp
--max_entries_for_hash_table_stats argHow many entries hash table statistics collected during aggregation is allowed to havehelp
--max_size_to_preallocate_for_aggregation argFor how many elements it is allowed to preallocate space in all hash tables in total before aggregationhelp
--kafka_disable_num_consumers_limit argDisable limit on kafka_num_consumers that depends on the number of available CPU coreshelp
--enable_software_prefetch_in_aggregation argEnable use of software prefetch in aggregationhelp
--allow_aggregate_partitions_independently argEnable independent aggregation of partitions on separate threads when partition key suits group by key.help
--force_aggregate_partitions_independently argForce the use of optimization when it is applicable, but heuristics decided not to use ithelp
--max_number_of_partitions_for_independent_aggregation argMaximal number of partitions in table to apply optimizationhelp
--allow_experimental_query_deduplication argExperimental data deduplication for SELECT queries based on part UUIDshelp
--engine_file_empty_if_not_exists argAllows to select data from a file engine table without filehelp
--engine_file_truncate_on_insert argEnables or disables truncate before insert in file engine tableshelp
--engine_file_allow_create_multiple_files argEnables or disables creating a new file on each insert in file engine tables if format has suffix.help
--engine_file_skip_empty_files argAllows to skip empty files in file table enginehelp
--engine_url_skip_empty_files argAllows to skip empty files in url table enginehelp
--enable_url_encoding argAllows to enable/disable decoding/encoding path in uri in URL table enginehelp
--allow_experimental_database_replicated argAllow to create databases with Replicated enginehelp
--database_replicated_initial_query_timeout_sec argHow long initial DDL query should wait for Replicated database to precess previous DDL queue entrieshelp
--database_replicated_enforce_synchronous_settings argEnforces synchronous waiting for some queries (see also database_atomic_wait_ for_drop_and_detach_synchronously, mutation_sync, alter_sync).help
--max_distributed_depth argMaximum distributed query depthhelp
--database_replicated_always_detach_permanently argExecute DETACH TABLE as DETACH TABLE PERMANENTLY if database engine is Replicatedhelp
--database_replicated_allow_only_replicated_engine argAllow to create only Replicated tables in database with engine Replicatedhelp
--database_replicated_allow_replicated_engine_arguments argAllow to create only Replicated tables in database with engine Replicated with explicit argumentshelp
--distributed_ddl_output_mode argFormat of distributed DDL query result, one of: 'none', 'throw', 'null_status_on_timeout', 'never_throw'help
--distributed_ddl_entry_format_version argCompatibility version of distributed DDL (ON CLUSTER) querieshelp
--external_storage_max_read_rows argLimit maximum number of rows when table with external engine should flush history data.help
--external_storage_max_read_bytes argLimit maximum number of bytes when table with external engine should flush history data.help
--external_storage_connect_timeout_sec argConnect timeout in seconds.help
--external_storage_rw_timeout_sec argRead/write timeout in seconds.help
--union_default_mode argSet default mode in UNION query.help
--intersect_default_mode argSet default mode in INTERSECT query.help
--except_default_mode argSet default mode in EXCEPT query.help
--optimize_aggregators_of_group_by_keys argEliminates min/max/any/anyLast aggregators of GROUP BY keys in SELECT sectionhelp
--optimize_group_by_function_keys argEliminates functions of other keys in GROUP BY sectionhelp
--legacy_column_name_of_tuple_literal argList all names of element of large tuple literals in their column names instead of hash.help
--query_plan_enable_optimizations argApply optimizations to query planhelp
--query_plan_max_optimizations_to_apply argLimit the total number of optimizations applied to query plan.help
--query_plan_filter_push_down argAllow to push down filter by predicate query plan stephelp
--query_plan_optimize_primary_key argAnalyze primary key using query plan (instead of AST)help
--query_plan_read_in_order argUse query plan for read-in-order optimisationhelp
--query_plan_aggregation_in_order argUse query plan for aggregation-in-order optimisationhelp
--query_plan_remove_redundant_sorting argRemove redundant sorting in query plan.help
--query_plan_remove_redundant_distinct argRemove redundant Distinct step in query planhelp
--query_plan_optimize_projection argUse query plan for aggregation-in-order optimisationhelp
--regexp_max_matches_per_row argMax matches of any single regexp per row, used to safeguard 'extractAllGroupsHorizontal' against consuming too much memory with greedy RE.help
--limit argLimit on read rows from the most 'end' result for select query, default 0 means no limit lengthhelp
--offset argOffset on read rows from the most 'end' result for select queryhelp
--function_range_max_elements_in_block argMaximum number of values generated by function `range` per block of data (sum of array sizes for every row in a block, see also 'max_block_size' and 'min_insert_block_size_rows').help
--function_sleep_max_microseconds_per_block argMaximum number of microseconds the function `sleep` is allowed to sleep for each block.help
--short_circuit_function_evaluation argSetting for short-circuit function evaluation configuration.help
--storage_file_read_method argMethod of reading data from storage file, one of: read, pread, mmap.help
--local_filesystem_read_method argMethod of reading data from local filesystem, one of: read, pread, mmap, io_uring, pread_threadpool.help
--remote_filesystem_read_method argMethod of reading data from remote filesystem, one of: read, threadpool.help
--local_filesystem_read_prefetch argShould use prefetching when reading data from local filesystem.help
--remote_filesystem_read_prefetch argShould use prefetching when reading data from remote filesystem.help
--read_priority argPriority to read data from local filesystem or remote filesystem.help
--merge_tree_min_rows_for_concurrent_read_for_remote_filesystem argIf at least as many lines are read from one file, the reading can be parallelized, when reading from remote filesystem.help
--merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem argIf at least as many bytes are read from one file, the reading can be parallelized, when reading from remote filesystem.help
--remote_read_min_bytes_for_seek argMin bytes required for remote read (url, s3) to do seek, instead of read with ignore.help
--merge_tree_min_bytes_per_task_for_remote_reading argMin bytes to read per task.help
--merge_tree_use_const_size_tasks_for_remote_reading argWhether to use constant size tasks for reading from a remote table.help
--merge_tree_determine_task_size_by_prewhere_columns argWhether to use only prewhere columns size to determine reading task size.help
--async_insert argIf true, data from INSERT query is stored in queue and later flushed to table in background.help
--wait_for_async_insert argIf true wait for processing of asynchronous insertionhelp
--wait_for_async_insert_timeout argTimeout for waiting for processing asynchronous insertionhelp
--async_insert_max_data_size argMaximum size in bytes of unparsed data collected per query before being insertedhelp
--async_insert_max_query_number argMaximum number of insert queries before being insertedhelp
--async_insert_busy_timeout_ms argMaximum time to wait before dumping collected data per query since the first data appearedhelp
--remote_fs_read_max_backoff_ms argMax wait time when trying to read data for remote diskhelp
--remote_fs_read_backoff_max_tries argMax attempts to read with backoffhelp
--enable_filesystem_cache argUse cache for remote filesystem.help
--enable_filesystem_cache_on_write_operations argWrite into cache on write operations.help
--enable_filesystem_cache_log argAllows to record the filesystem caching log for each queryhelp
--read_from_filesystem_cache_if_exists_otherwise_bypass_cache argAllow to use the filesystem cache in passive mode - benefit from the existing cache entries, but don't put more entries into the cache.help
--skip_download_if_exceeds_query_cache argSkip download from remote filesystem if exceeds query cache sizehelp
--filesystem_cache_max_download_size argMax remote filesystem cache size that can be downloaded by a single queryhelp
--throw_on_error_from_cache_on_write_operations argIgnore error from cache when caching on write operations (INSERT, merges)help
--load_marks_asynchronously argLoad MergeTree marks asynchronouslyhelp
--enable_filesystem_read_prefetches_log argLog to system.filesystem prefetch_log during query.help
--allow_prefetched_read_pool_for_remote_filesystem argPrefer prefethed threadpool if all parts are on remote filesystemhelp
--allow_prefetched_read_pool_for_local_filesystem argPrefer prefethed threadpool if all parts are on remote filesystemhelp
--prefetch_buffer_size argThe maximum size of the prefetch buffer to read from the filesystem.help
--filesystem_prefetch_step_bytes argPrefetch step in bytes.help
--filesystem_prefetch_step_marks argPrefetch step in marks.help
--filesystem_prefetch_min_bytes_for_single_read_task argDo not parallelize within one file read less than this amount of bytes.help
--filesystem_prefetch_max_memory_usage argMaximum memory usage for prefetcheshelp
--filesystem_prefetches_limit argMaximum number of prefetches.help
--use_structure_from_insertion_table_in_table_functions argUse structure from insertion table instead of schema inference from data.help
--http_max_tries argMax attempts to read via http.help
--http_retry_initial_backoff_ms argMin milliseconds for backoff, when retrying read via httphelp
--http_retry_max_backoff_ms argMax milliseconds for backoff, when retrying read via httphelp
--force_remove_data_recursively_on_drop argRecursively remove data on DROP query.help
--check_table_dependencies argCheck that DDL query (such as DROP TABLE or RENAME) will not break dependencieshelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.