Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Настройки таблиц семейства MergeTree always_fetch_*

Эти настройки доступны в system.merge_tree_settings и автоматически генерируются из исходного кода ClickHouse.

always_fetch_merged_part

Тип
Bool
По умолчанию
0

Если true, эта реплика никогда не выполняет слияния частей и всегда загружает слитые части с других реплик.

Возможные значения:

  • true, false

always_fetch_mutated_part

Тип
Bool
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.80Новая настройка, предписывающая реплике загружать мутированные части вместо локального выполнения мутаций

Если установлено значение true, эта реплика никогда не выполняет записи MUTATE_PART из журнала репликации (обычные мутации, например ALTER TABLE ... UPDATE/DELETE) и всегда загружает полученные мутированные части с других реплик.

Хотя бы на одной реплике эта настройка должна быть отключена, иначе мутации не смогут завершиться.

Эта настройка не влияет на патч-части, создаваемые легковесными обновлениями: они по-прежнему применяются локально при слиянии частей. Также включите always_fetch_merged_part, чтобы перенести на другие реплики и выполнение слияний (включая применение патч-частей).

Поскольку эта реплика не выполняет мутации, а состояние сбоя мутации локально для каждой реплики, синхронное ожидание на этой реплике не может обнаружить сбои мутаций, происходящие на репликах, выполняющих мутацию. Поэтому синхронные мутации (mutations_sync = 1 или 2) и синхронные запросы ALTER, изменяющие данные (alter_sync = 1 или 2), отклоняются на такой реплике с ошибкой SUPPORT_IS_DISABLED, а не переводятся в ожидание, которое зависло бы при сбое мутации. Используйте mutations_sync = 0 (alter_sync = 0) либо выполняйте эти запросы на реплике, выполняющей мутации.

Возможные значения:

  • true, false
Navigation