Эти настройки доступны в system.settings и автоматически генерируются из исходного кода.
Включает фильтрацию строк, удалённых с помощью легковесного DELETE. Если параметр отключён, запрос сможет читать эти строки. Это полезно при отладке и в сценариях «отмены удаления».
Если значение равно true, мутации (UPDATE и DELETE), которые не материализованы в части данных, будут применяться при выполнении SELECT-запросов.
apply_prewhere_after_final
Если включено, условия PREWHERE для ReplacingMergeTree и похожих движков применяются после обработки FINAL.
Это может быть полезно, если PREWHERE ссылается на столбцы, значения которых могут различаться в дублирующихся строках,
и нужно, чтобы FINAL сначала выбрал строку, которая должна остаться, а уже потом применялась фильтрация. Если отключено, PREWHERE применяется при чтении.
Note: Если включен apply_row_level_security_after_final и ROW POLICY использует столбцы, не входящие в ключ сортировки, PREWHERE также
будет отложен, чтобы сохранить правильный порядок выполнения (ROW POLICY должна применяться до PREWHERE).
apply_row_policy_after_final
Когда включено, ROW POLICY и PREWHERE применяются после обработки FINAL для таблиц семейства *MergeTree. (Особенно для ReplacingMergeTree)
Когда отключено, ROW POLICY применяются до FINAL, что может приводить к другим результатам, если политика
отфильтровывает строки, которые должны использоваться для дедупликации в ReplacingMergeTree или аналогичных движках.
Если выражение ROW POLICY зависит только от столбцов в ORDER BY, оно все равно будет применяться до FINAL в качестве оптимизации,
поскольку такая фильтрация не может повлиять на результат дедупликации.
Возможные значения:
- 0 — ROW POLICY и PREWHERE применяются до FINAL (по умолчанию).
- 1 — ROW POLICY и PREWHERE применяются после FINAL.
apply_settings_from_server
Определяет, должен ли клиент принимать настройки от сервера.
Это влияет только на операции, выполняемые на стороне клиента, в частности на разбор входных данных INSERT и форматирование результата запроса. Большая часть выполнения запроса происходит на сервере и этой настройкой не затрагивается.
Обычно эту настройку следует задавать в профиле пользователя (users.xml или запросами вроде ALTER USER), а не через клиент (аргументами командной строки клиента, запросом SET или секцией SETTINGS в запросе SELECT). Через клиент её можно изменить на false, но нельзя изменить на true (поскольку сервер не будет отправлять настройки, если в профиле пользователя указано apply_settings_from_server = false).
Обратите внимание: изначально (24.12) существовала настройка сервера (send_settings_to_client), но позже для удобства использования её заменили этой настройкой на стороне клиента. Последнее изменение 23 июля 2026 г.