Hi, On Wed, Mar 12, 2025 at 05:15:53PM -0500, Jim Nasby wrote: > The usecase I can see here is that we don't want autovac creating so much > WAL traffic that it starts forcing other backends to have to write WAL out. > But tracking how many times autovac writes WAL buffers won't help with that
Right, because the one that increments the wal_buffers_full metric could "just" be a victim (i.e the one that happens to trigger the WAL buffers disk flush, even though other backends contributed most of the buffer usage). > (though we also don't want any WAL buffers written by autovac to be counted > in the system-wide wal_buffers_full: why? Or do you mean that it would be good to have 2 kinds of metrics: one generated by "maintenance" activity and one by "regular" backends? > What would be helpful would be a way to determine if autovac was causing > enough traffic to force other backends to write WAL. Offhand I'm not sure > how practical that actually is though. a051e71e28a could help to see how much WAL has by written by the autovac workers. > BTW, there's also an argument to be made that autovac should throttle > itself if we're close to running out of available WAL buffers... hmm, yeah I think that's an interesting idea OTOH that would mean to "delegate" the WAL buffers flush to another backend. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com