On 8/20/21 12:09 AM, David Christensen wrote: > -hackers, > > Enclosed, find a POC patch that implements "special values" for int GUCs. We > have quite a few GUCs > with values that have special meaning atop other settings. I have attempted > to identify these and > make it so you can specify a symbol name for these values instead of just > relying on the magic > number instead. > > For instance, many GUCs have -1 for "disabled", so I've just made it so you > can > specify something like: > > SET log_min_duration_statement = disabled; > > And the raw value will be set to -1 in this case. For the purposes of > testing, I have also added a > new GUC "output_special_values" to affect whether `SHOW` or anything that > relies on _ShowOption() > can show with the special value instead of just the raw magic value, allowing > tools to consume the > original raw value, or provide the output to the user in the nicer format. > > This has only been done for ints, and the passthru I did was very quick, so I > have probably missed > some options that didn't explicitly have their interpretations in the file > and/or I didn't know > about it already. I do not think there are these sorts of values in other > non-int GUCs, but there > might be, so a similar approach could be taken to expand things to other > config types in the future. > > Let me know your thoughts; I personally find this to be useful, and would be > a nicer way for some > configs to be displayed in the postgresql.conf file.
As discussed on IRC, I am in favor of this improvement. (I have not yet looked at the patch.) -- Vik Fearing