On Fri, Feb 23, 2018 at 7:52 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Magnus Hagander <magnus@hagander.net> writes: > Here's another attempt at moving this one forward. Basically this adds a > new GucSource being GUC_S_CLIENT_EARLY. It now runs through the parameters > once before CheckMyDatabase, with source set to GUC_S_CLIENT_EARLY. In this > source, *only* parameters that are flagged as GUC_ALLOW_EARLY will be set, > any other parameters are ignored (without error). For now, only the > ignore_connection_restriction is allowed at this stage. Then it runs > CheckMyDatabase(), and after that it runs through all the parameters again, > now with the GUC_S_CLIENT source as usual, which will now process all > other variables.
Ick. This is an improvement over the other way of attacking the problem? I do not think so.
Nope, I'm far from sure that it is. I just wanted to show what it'd look like.
I personally think the second patch (the one adding a parameter to BackendWorkerInitializeConnection) is the cleanest one. It doesn't solve Andres' problem, but perhaps that should be the job of a different patch.