On Tue, Dec 3, 2024 at 11:57 AM Adrian Klaver <adrian.kla...@aklaver.com> wrote: [snip]
> > I have to believe it is due to this: > > > https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-SPACE-RECOVERY > > "If you have a table whose entire contents are deleted on a periodic > basis, consider doing it with TRUNCATE rather than using DELETE followed > by VACUUM. TRUNCATE removes the entire content of the table immediately, > without requiring a subsequent VACUUM or VACUUM FULL to reclaim the > now-unused disk space. The disadvantage is that strict MVCC semantics > are violated." > > Combined with this: > > > https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-THRESHOLD > > "autovacuum_vacuum_threshold > > Specifies the minimum number of updated or deleted tuples needed to > trigger a VACUUM in any one table. ... > > " > > I'm going to say the TRUNCATE itself does not trigger an autovacuum. I > would suggest throwing a manual VACUUM in the table population script. > Shouldn't autovacuum_vacuum_insert_threshold kick off an autovacuum if you're doing a lot of inserts? -- Death to <Redacted>, and butter sauce. Don't boil me, I'm still alive. <Redacted> lobster!