[PATCH] Proof of concept for GUC improvements
David Christensen <david.christensen@crunchydata.com>
From: David Christensen <david.christensen@crunchydata.com>
To: pgsql-hackers@postgresql.org
Date: 2021-08-19T22:09:25Z
Lists: pgsql-hackers
Attachments
-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. Best, David