hi.
src/backend/utils/misc/guc_tables.c:
static const struct config_enum_entry icu_validation_level_options[] = {
{"disabled", -1, false},
{"debug5", DEBUG5, false},
{"debug4", DEBUG4, false},
{"debug3", DEBUG3, false},
{"debug2", DEBUG2, false},
{"debug1", DEBUG1, false},
{"debug", DEBUG2, true},
{"log", LOG, false},
{"info", INFO, true},
{"notice", NOTICE, false},
{"warning", WARNING, false},
{"error", ERROR, false},
{NULL, 0, false}
};
I can understand why "debug" is hidden, but why "info" is also hidden?
quote from doc[1]:
"""
When ICU locale validation problems are encountered, controls which message
level is used to report the problem. Valid values are DISABLED, DEBUG5, DEBUG4,
DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, and LOG.
"""
the documentation explicitly states that "info" is allowed.
SELECT name, setting, enumvals from pg_settings ss where
name='icu_validation_level';
name | setting | enumvals
----------------------+---------+------------------------------------------------------------------------
icu_validation_level | debug1 |
{disabled,debug5,debug4,debug3,debug2,debug1,log,notice,warning,error}
then I am confused by INFO level is not in enumvals for GUC
icu_validation_level.
[1]: https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-ICU-VALIDATION-LEVEL