Sorry, I sent my response only to you, I'm sending it again to the group in a minute...
El vie., 27 mar. 2020 a las 15:41, Michael Lewis (<mle...@entrata.com>) escribió: > If you can afford the time, I am not sure the reason for the question. > Just run it and be done with it, yes? > > A couple of thoughts- > 1) That is a big big transaction if you are doing all the cleanup in a > single function call. Will this be a production system that is still online > for this archiving? Having a plpgsql function that encapsulates the work > seems fine, but I would limit the work to a month at a time or something > and call the function repeatedly. Get the min month where records exist > still, delete everything matching that, return. Rinse, repeat. > 2) If you are deleting/moving most of the table (91 of 150 million), > consider moving only the records you are keeping to a new table, renaming > old table, and renaming new table back to original name. Then you can do > what you want to shift the data in the old table and delete it. >