Mark Dilger <mark.dil...@enterprisedb.com> writes:
> The patch already posted on this thread already works that way.  Robert and 
> Tom seemed to infer that all gucs need to be present in the catalog, but in 
> fact, not entering them in the catalog simply means that they aren't 
> grantable.  I think the confusion arose from the fact that I created a 
> mechanism for extension authors to enter additional gucs into the catalog, 
> which gave the false impression that such entries were required.  They are 
> not.  I didn't bother explaining that before, because Robert and Tom both 
> seem to expect all gucs to be grantable, an expectation you do not appear to 
> share.

The question is why you need pg_config_param at all, then.
AFAICS it just adds maintenance complexity we could do without.
I think we'd be better off with a catalog modeled on the design of
pg_db_role_setting, which would have entries for roles and lists
of GUC names that those roles could set.

BTW, another objection to pg_config_param as designed here is that
a "name" is not an appropriate way to store possibly-qualified
custom GUC names.  It's not long enough (cf. valid_custom_variable_name).

>> To support pg_dump and pg_upgrade, it might be better to have an
>> enabled/disabled flag rather than to delete rows.

> I'm not really sure what this means.

I didn't see the point of this either.  We really need to KISS here.
Every bit of added complexity in the catalog representation is another
opportunity for bugs-of-omission, not to mention a detail that you
have to provide mechanisms to dump and restore.

                        regards, tom lane


Reply via email to