On 2020-Oct-29, Stephen Frost wrote: > I do think it'd be good to find a way to check every once in a while > even when we aren't going to delay though. Not sure what the best > answer there is.
Maybe instead of thinking specifically in terms of vacuum, we could count buffer accesses (read from kernel) and check the latch once every 1000th such, or something like that. Then a very long query doesn't have to wait until it's run to completion. The cost is one integer addition per syscall, which should be bearable. (This doesn't help with a query that's running arbitrarily outside of Postgres, or doing something that doesn't access disk -- but it'd help with a majority of problem cases.)