Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, May 7, 2014 at 12:21 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> If Craig has a concrete argument why all GUCs should be accessible
>> to external modules, then let's see it (after which we'd better debate
>> exposing the few that are in fact static in guc.c).
> I think there's actually a very good reason to think that GUCs are
> good candidates for this treatment, which is that, by definition, the
> GUC is a public interface: you can change it with a SET command.
Sure, and we provide public APIs for accessing/setting GUCs. The SET
side of that is most emphatically *not* "just set the C variable".
Yeah, you can get away with reading them like that, assuming you want
the internal representation not the user-visible one. In any case,
I've not heard the use-case why all (and only) GUCs might need to be
readable in that way.
Again, I'm not arguing against a proposal that we should automatically
export all globally-declared variables for platform-levelling reasons.
I *am* saying that I find a proposal to do that just to GUCs to be
unsupported by any argument made so far.
regards, tom lane