Ситуація класична: протестував міграцію на деві — 12 хвилин, все чудово. Запускаєш на проді — 30+ хвилин, бот лежить, користувачі чекають. База та сама (перевіряв на дампі прода), сервер той самий. Що за фігня?
Підсумок: 1.5 години простою поки знайшов проблему. Міграція
rating_changes на 2.1 мільйона записів, довго працюючий CTE з chat_id, і нічого не працює.🤖 Як OpenAI Codex допоміг знайти проблему
Запитав у Codex: Чому на деві 12хв, а на проді 30+ не проходить?
Після аналізу конфігів знайшли різницю в налаштуваннях PostgreSQL:
Dev:
work_mem = 512MBProd:
work_mem = 5MB От вона проблема. На проді параметр був у 100 разів менший, ніж на деві. PostgreSQL не міг нормально виконати міграцію через обмеження пам'яті для операцій сортування та хешування.
Ось команда запуску на проді:
command: "postgres -c max_connections=150 -c shared_buffers=1GB ...
-c work_mem=2GB
Після зміни
work_mem на проді — міграція пройшла нормально.P.S. на скриншоті - зміни продовсього compose
