Magnus Hagander <magnus@hagander.net> writes:
> On Wed, Nov 7, 2012 at 5:53 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I'm not sure that the above approach works anyway --- for instance, the
>> "current setting" might be a SET LOCAL result, in which case you still
>> don't know anything about what the appropriate thing to put into the
>> file is. I think there are probably also race conditions with cases
>> where somebody else just changed some other setting but your session
>> hasn't absorbed it yet.
> Well, you don't have to look at pg_settings specifically - since this
> is inside the backend. You can look at the underlying structures. We
> stack them up so we can RESET them, right? So we could just peek up in
> that stack and find the data there.
You could dig it out of the stack if it's there, but that doesn't fix
the race-condition aspect. Now a race is inevitable if two sessions try
to set the *same* variable, but I think people will be unhappy if a SET
on one variable makes a recent SET on some other variable disappear.
The one-value-per-file solution neatly bypasses all these problems,
which is why this topic got put on the back burner originally until
we had the include-directory functionality. I don't see why we are
revisiting the bugs in an approach that was already rejected.
regards, tom lane