On Wed, Jan 28, 2026 at 10:39 AM Greg Sabino Mullane <[email protected]> wrote:
> On Tue, Jan 27, 2026 at 10:31 PM David G. Johnston < > [email protected]> wrote: > >> Strongly encourage you to try to accomplish your goal without any delete >> commands at that scale that causes vacuuming. Can you just create an empty >> copy and load the data to keep into it then point at the newly filled >> database? Truncate is OK. >> > > This is really the best solution, especially if most of the rows are > 75 > days old. This removes 100% of your bloat, allows you to keep the old data > around in case something goes wrong, reduces WAL compared to massive > deletes, and removes the need to mess with autovacuum. > Looping DELETE is the Dirt Simple option when the application is writing 24x7, when there's a lot of FK dependencies, etc. It also allows you to throttle the process (bash sleep between DELETE statements, or only purging a few old days per script execution and then only run the script at night). -- Death to <Redacted>, and butter sauce. Don't boil me, I'm still alive. <Redacted> lobster!
