icu_validation_level INFO message level not displayed in pg_settings.enumvals

From: jian he <jian(dot)universality(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: icu_validation_level INFO message level not displayed in pg_settings.enumvals
Date: 2025-07-22 10:21:35
Message-ID: CACJufxHy6OTv5tmtB8EDhP4EzZAruhXYJTNMP1RDPrk6hiALWQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Browse pgsql-hackers by date

  From Date Subject
Next Message shveta malik 2025-07-22 10:27:34 Re: Skipping schema changes in publication
Previous Message jian he 2025-07-22 10:19:18 Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions