Re: fix bgworkers in EXEC_BACKEND

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@2ndquadrant.com>
Cc: Heikki Linnakangas <hlinnakangas@vmware.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-12-27T23:44:57Z
Lists: pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
> I am still worried about the following scenario in the EXEC_BACKEND case:

> 1) postmaster starts
> 2) reads config
> 3) executes _PG_init for shared_preload_libraries
> 4) library 'abc' gets config value 'abc.num_workers = 2' and registers as many workers
> 5) some time goes by, workers, backends start
> 6) abc.num_workers gets changed to 3, SIGHUP

This is broken whether it's EXEC_BACKEND or not: you don't get to change
anything that determines the number of workers post-startup.
num_workers should have been declared PGC_POSTMASTER.

			regards, tom lane