*Two new functions are added, pg_enable_data_checksums() and pg_disable_data_checksums(). The disable one is easy -- it just changes to disable. The enable one will change the state to inprogress, and then start a background worker (the “checksumhelper launcher”). This worker in turn will start one sub-worker (“checksumhelper worker”) in each database (currently all done sequentially).*
This is at least the fourth version of the pattern launcher plus worker background workers. I wonder whether we can do something to make this easier and less repetitive. Not in this patch, of course.
Peter, can I ask for some pointers in searching for previous versions?
I want to review patch this patch and some code comparision could be handy....
So far I've found only this [0,1] (without code) and threads mentioned by Magnus [2,3]
Or do you mean extracting "worker+lancher" for reuse for other purposes?
I'm pretty sure Peter means the second. Which could be interesting, but as he says, not the topic for this patch.
I'm not entirely sure which the others ones are. Auto-Vacuum obviously is one, which doesn't use the worker infrastructure. But I'm not sure which the others are referring to?