Re: А вот кстати, как быстро заполнить столбик?

Поиск
Список
Период
Сортировка
От Sergei Kornilov
Тема Re: А вот кстати, как быстро заполнить столбик?
Дата
Msg-id 301091524159028@web13j.yandex.ru
обсуждение исходный текст
Ответ на А вот кстати, как быстро заполнить столбик?  ("Dmitry E. Oboukhov" <unera@debian.org>)
Список pgsql-ru-general
Привет
Такой update по понятной причине будет сильно замедляться пока не придёт vacuum. А чтобы замедляться пока не придёт
vacuum- надо не ходить повторно по обработанным записям.
 

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

Лучше всё-таки давать между итерациями время поработать автовакууму, тем самым замедляя миграцию, но не давать табличке
распухнутьвдвое. Ну или сразу заложить запуск pgcompacttable или pg_repack после миграции.
 

Сергей


В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Dmitry E. Oboukhov"
Дата:
Сообщение: А вот кстати, как быстро заполнить столбик?
Следующее
От: Sergei Kornilov
Дата:
Сообщение: Re: VARCHAR(32) в VARCHAR(64) или TEXT