worker_spi: Expand set of options to start workers
Michael Paquier <michael@paquier.xyz>
worker_spi: Expand set of options to start workers A couple of new options are added to this module to provide more control on the ways bgworkers are started: - A new GUC called worker_spi.role to control which role to use by default when starting a worker. - worker_spi_launch() gains three arguments: a role OID, a database OID and flags (currently only BGWORKER_BYPASS_ALLOWCONN). By default, the role OID and the database OID are InvalidOid, in which case the worker would use the related GUCs. Workers loaded by shared_preload_libraries use the default values provided by the GUCs, with flags at 0. The options are given to the main bgworker routine through bgw_extra. A test case is tweaked to start two dynamic workers with databases and roles defined by the caller of worker_spi_launch(). These additions will have the advantage of expanding the tests for bgworkers, for at least two cases: - BGWORKER_BYPASS_ALLOWCONN has no coverage in the core tree. - A new bgworker flag is under discussion, and this eases the integration of new tests. Reviewed-by: Bertrand Drouvot Discussion: https://postgr.es/m/bcc36259-7850-4882-97ef-d6b905d2fc51@gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/test/modules/worker_spi/t/001_worker_spi.pl | modified | +20 −9 |
| src/test/modules/worker_spi/worker_spi--1.0.sql | modified | +5 −1 |
| src/test/modules/worker_spi/worker_spi.c | modified | +89 −1 |
Discussion
- Add a new BGWORKER_BYPASS_ROLELOGINCHECK flag 41 messages · 2023-09-28 → 2023-10-16