These settings are available in system.merge_tree_settings and are autogenerated from ClickHouse source.
max_avg_part_size_for_too_many_parts
The ‘too many parts’ check according to ‘parts_to_delay_insert’ and
‘parts_to_throw_insert’ will be active only if the average part size (in the
relevant partition) is not larger than the specified threshold. If it is
larger than the specified threshold, the INSERTs will be neither delayed or
rejected. This allows to have hundreds of terabytes in a single table on a
single server if the parts are successfully merged to larger parts. This
does not affect the thresholds on inactive parts or total parts.
max_buckets_in_map
The maximum number of buckets for Map serialization. Works with with_buckets Map serialization.
The actual number of buckets is determined by map_buckets_strategy.
The maximum allowed value is 256.
max_cleanup_delay_period
Maximum period to clean old queue logs, blocks hashes and parts.
max_compress_block_size
The maximum size of blocks of uncompressed data before compressing for writing
to a table. You can also specify this setting in the global settings
(see max_compress_block_size
setting). The value specified when the table is created overrides the global
value for this setting.
max_concurrent_queries
Max number of concurrently executed queries related to the MergeTree table.
Queries will still be limited by other max_concurrent_queries settings.
Possible values:
- Positive integer.
0 — No limit.
Default value: 0 (no limit).
Example
max_digestion_size_per_segment
Obsolete setting, does nothing.
max_file_name_length
The maximal length of the file name to keep it as is without hashing.
Takes effect only if setting replace_long_file_name_to_hash is enabled.
The value of this setting does not include the length of file extension. So,
it is recommended to set it below the maximum filename length (usually 255
bytes) with some gap to avoid filesystem errors.
max_partitions_to_read
Limits the maximum number of partitions that can be accessed in one query.
The setting value specified when the table is created can be overridden via
query-level setting.
Possible values:
You can also specify a query complexity setting max_partitions_to_read
at a query / session / profile level.
max_projections
The maximum number of merge tree projections.
max_table_size_bytes_compressed
If the total number of compressed bytes (the size on disk) across all active
and inactive data parts of the table exceeds this value, an INSERT is
interrupted with the Table size limit exceeded exception. Inactive parts
are counted as well because the purpose of this setting is to limit disk
usage. Note that inactive parts are removed in the background (see the
old_parts_lifetime setting), so the observed size can decrease over time.
The limit is checked at the beginning of INSERT and when new data parts
are committed to the working set, including the results of background merges
and mutations. Inserts done by materialized views are also checked. The
limit is not checked on replicated fetches, which permits a race condition
when parallel inserts into multiple replicas overdraft the limit. Committing
empty data parts is always allowed, so the data can be removed from a table
that exceeds the limit, e.g. with TRUNCATE or ALTER TABLE ... DROP PARTITION.
Possible values:
- Any positive integer.
- 0 — unlimited.
It is useful for multi-tenant, temporary, and demo services.
max_table_size_bytes_uncompressed
The same as max_table_size_bytes_compressed, but the limit is applied to
the total number of uncompressed bytes across all active and inactive data
parts of the table.
Possible values:
- Any positive integer.
- 0 — unlimited.
It is useful for multi-tenant, temporary, and demo services.
max_table_size_rows
If the total number of rows in active data parts of the table exceeds this
value, an INSERT is interrupted with the Table size limit exceeded
exception. The limit is checked at the beginning of INSERT and when new
data parts are committed to the working set, including the results of
background merges and mutations (so a mutation that increases the table size
beyond the limit will be retried without finishing). Inserts done by
materialized views are also checked. The limit is not checked on replicated
fetches, which permits a race condition when parallel inserts into multiple
replicas overdraft the limit. Committing empty data parts is always allowed,
so the data can be removed from a table that exceeds the limit, e.g. with
TRUNCATE or ALTER TABLE ... DROP PARTITION.
Possible values:
- Any positive integer.
- 0 — unlimited.
It is useful for multi-tenant, temporary, and demo services.
max_uncompressed_bytes_in_patches
The maximum uncompressed size of data in all patch parts in bytes.
If amount of data in all patch parts exceeds this value, lightweight updates will be rejected.
0 - unlimited. Last modified on September 2, 2026