Практикум: партиционирование работающей таблицы¶
migrate_lab.py запускает PostgreSQL 17 в контейнере, заполняет обычную таблицу events двумя миллионами строк за последний год и создаёт ссылающуюся на неё таблицу event_notes. Затем выполняет переход к месячным партициям, пока чтение и запись в events продолжаются: изменение ключа, подмена таблицы, первый цикл обслуживания, перенос данных пачками, внешний ключ и освобождение DEFAULT-партиции. Каждый шаг выводит свою длительность и результаты, которые видели читающий и пишущий процессы.