table_disk
Это диск таблицы: путь/конечная точка указывают на данные таблицы, а не на данные базы данных. Поддерживается для дисков объектного хранилища, метаданные которых хранятся в самом объектном хранилище (s3_plain, s3_plain_rewritable, web, web_index), а также их кэшированных вариантов. Зашифрованные варианты поддерживаются только поверх доступных для записи дисков s3_plain / s3_plain_rewritable, но не поверх дисков web / web_index, доступных только для чтения. Считается, что части, уже находящиеся по этому пути, соответствуют столбцам и ключу сортировки, объявленным в этой таблице. Ключ сортировки, с которым была записана часть, нигде не сохраняется, поэтому таблица, объявленная с другим ключом поверх тех же частей, вернёт неверные результаты или ошибку.table_readonly
Если установлено значение true, таблица находится в режиме только для чтения. Все выполняемые на переднем плане операции, изменяющие таблицу, отклоняются: вставки, мутации,OPTIMIZE, а также команды для партиций, изменяющие данные
(ATTACH/MOVE/DROP/DROP DETACHED/FETCH/REPLACE PARTITION, а также MOVE PARTITION ... TO TABLE, если целевой является эта таблица). Операции,
не изменяющие данные таблицы, например FREEZE/UNFREEZE и FORGET PARTITION, по-прежнему разрешены.
Фоновые задачи, изменяющие данные таблицы, не планируются: обычные слияния, TTL-слияния (DELETE/MOVE/повторное сжатие), слияния с повторным сжатием, фоновые мутации
и фоновые перемещения частей не выполняются. Поэтому, пока эта настройка
включена, таблица с TTL не освобождает место и не перемещает данные с истёкшим сроком хранения. Очистка останавливается после завершения текущей итерации очистки. Асинхронная загрузка устаревших (неактивных) частей, которую
доступная для записи таблица выполняет после запуска, приостанавливается, если она ещё не завершена: новые части больше не загружаются, в том числе те, загрузка которых уже была поставлена в очередь,
но ещё не началась, а оставшиеся незагруженными части будут загружены после повторного отключения настройки. Фоновые воркеры отключаются
до того, как ALTER, включающий настройку, закоммитит её, поэтому ни очистка, ни загрузка частей не начнётся на таблице, которая уже гарантированно переведена в режим только для чтения. Другие
уже выполняющиеся операции, включая уже начавшуюся загрузку частей, могут завершиться.
Кэш статистики в памяти по-прежнему периодически обновляется. Чтобы отключить и эту фоновую задачу, установите refresh_statistics_interval = 0.
Потоковое чтение (SELECT ... STREAM) продолжает работать: фоновое задание, обслуживающее подписки, только читает части и поэтому выполняется и на таблицах только для чтения.
Настройку всегда можно отключить с помощью ALTER TABLE ... MODIFY SETTING table_readonly = 0 (или RESET SETTING). В этот момент запускаются фоновые воркеры,
которые не запускались, пока таблица была доступна только для чтения, поэтому слияния, мутации, перемещения, TTL и очистка возобновляются без перезапуска сервера.
Устаревшие (неактивные) части загружаются до того, как очистка сможет удалить покрывающие их пустые части. Для параллельных запросов таблица остаётся доступной только для чтения
в течение всего выполнения этого ALTER: запись снова принимается лишь после завершения оператора, а не в момент коммита метаданных.
Эта настройка не поддерживается для ReplicatedMergeTree.