> so our migration is then based on that `is_migrate` column:
>
> BEGIN;
> UPDATE table_a__live SET is_migrate = TRUE WHERE record_timestamp < transaction_timestamp() AT TIME ZONE 'UTC' - INTERVAL '1 month';
> INSERT INTO table_a__archive (column_1, column_2, record_timestamp) SELECT column_1, column_2, record_timestamp FROM table_a__live WHERE is_migrate IS TRUE;
> DELETE FROM table_a__live WHERE is_migrate IS TRUE;
> COMMIT;
>
> The inserts & deletes are blazing fast, but the UPDATE is a bit slow from postgres re-writing all the rows.
Maybe I am missing something, but why do the UPDATE?
Not to mention doubling the amount of I/O vacuum is going to chew up.
David J.