таблицу):
взять данные из таблица А -> преобразование -> новые данные -> положить в таблицу Б.
Проблема: в таблице А много данных, опасаюсь что при выполнении sql запроса миграции выйду за пределы оперативной памяти, в итоге кажется ch поломается (или нет?).
В постгресе для этого я бы использовал for loop чтобы делать перелив "пачками по датам".
А как быть тут? Как гуглить?
bump
Посмотрите настройку max_bytes_before_external_group_by - можно ограничить используемую под группировки память (при превышении лимита данные будут на диске группироваться).
ок, спасибо, буду сейчас обязательно почитать, правильно понял что других аналогов близких к for loop не найдется?
Я таких способов (жуткие костыли на буферах и MV расчёт не берём) не знаю, но имхо проще всего сторонним скриптом сделать.
ну да, такая идея была - достаточно питона и какого-нибудь алембика (чтобы сделать миграцию через код, а не sql), но у нас не использется алембик и питон(( А если смотреть в сторону внутренних скриптов? Например для pg есть возможность написать "скрипт миграции с sql запросами и примесями питона" и это вызвать как "миграцию".
Обсуждают сегодня