Привет
Такой update по понятной причине будет сильно замедляться пока не придёт vacuum. А чтобы замедляться пока не придёт
vacuum- надо не ходить повторно по обработанным записям.
Эффективнее всего - пройти запросами по диапазону ctid от начала до конца таблицы.
Проще всего и при этом без замедления от удалённый строк - по диапазонам id: UPDATE "table" SET "c" = "d" WHERE id >= 0
andid < 5000 и сдвигать диапазон на каждой итерации.
На различное заполнение пачки id при этом банально забить.
Лучше всё-таки давать между итерациями время поработать автовакууму, тем самым замедляя миграцию, но не давать табличке
распухнутьвдвое. Ну или сразу заложить запуск pgcompacttable или pg_repack после миграции.
Сергей