On 31.05.24 11:28, ISHAN CHHANGANI . wrote:
Is it possible to switch on/off a background worker in runtime?
worker.bgw_flags =BGWORKER_SHMEM_ACCESS;
worker.bgw_start_time =BgWorkerStart_PostmasterStart;
I want to switch off the worker based on some flag value, etc, either
from the main process or the worker itself.
Are there any already existing examples?
I think this depends more on your exact use case. For example, the
logical replication background workers have sophisticated logic to do
this. There is a launcher, which is itself a background worker, which
launches other per-subscription workers. And there are commands to
disable subscriptions, which would among other things stop their
corresponding background workers. That logic is specific to the needs
of the logic replication system. You might get some ideas from that.
But in general it will need a bit of custom logic.