On Wed, 2020-02-05 at 20:00 -0800, Andres Freund wrote: > The ringbuffers we use for seqscans, vacuum, copy etc can cause very > drastic slowdowns (see e.g. [1]), an can cause some workloads to > practically never end up utilizing shared buffers. ETL workloads > e.g. regularly fight with that problem. > > I think it would make sense to have seqscan_ringbuffer_threshold, > {bulkread,bulkwrite,vacuum}_ringbuffer_size. I think they often sensibly > are set in proportion of shared_buffers, so I suggest defining them as > floats, where negative values divide shared_buffers, whereas positive > values are absolute sizes, and 0 disables the use of ringbuffers.
Sounds reasonable. I feel that it should be as few GUCs as possible, so I think that having one per type of operation might be too granular. This should of course also be a storage parameter that can be set per table. Yours, Laurenz Albe