There are several GUC enums that accept values that aren't documented
anywhere; the worst offender being backslash_quote, which has more
undocumented spellings than documented ones:
/** Although only "on", "off", and "safe_encoding" are documented, we* accept all the likely variants of "on" and
"off".*/
static const struct config_enum_entry backslash_quote_options[] = {{"safe_encoding",
BACKSLASH_QUOTE_SAFE_ENCODING},{"on",BACKSLASH_QUOTE_ON},{"off", BACKSLASH_QUOTE_OFF},{"true",
BACKSLASH_QUOTE_ON},{"false",BACKSLASH_QUOTE_OFF},{"yes", BACKSLASH_QUOTE_ON},{"no", BACKSLASH_QUOTE_OFF},{"1",
BACKSLASH_QUOTE_ON},{"0",BACKSLASH_QUOTE_OFF},{NULL, 0}
};
I am wondering if it's a good idea to hide the redundant entries
to reduce clutter in the pg_settings display. (We could do this
by adding a "hidden" boolean to struct config_enum_entry.)
Thoughts?
regards, tom lane