Re: GUC flags

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2021-12-06T06:58:39Z
Lists: pgsql-hackers
On Sun, Dec 05, 2021 at 11:38:05PM -0600, Justin Pryzby wrote:
> Thanks.  One more item.  The check_guc script currently outputs 68 false
> positives - even though it includes a list of 20 exceptions.  This is not
> useful.

Indeed.  Hmm.  This script does a couple of things:
1) Check the format of the options defined in the various lists of
guc.c, which is something people format well, and pgindent also does 
a part of this job.
2) Check that options in the hardcoded list of GUCs in
INTENTIONALLY_NOT_INCLUDED are not included in
postgresql.conf.sample
3) Check that nothing considered as a parameter in
postgresql.conf.sample is listed in guc.c.

Your patch removes 1) and 2), but keeps 3) to check for dead
parameter references in postgresql.conf.sample.

Is check_guc actually run on a periodic basis by somebody?  Based on
the amount of false positives that has accumulated over the years, and
what `git grep` can already do for 3), it seems to me that we have
more arguments in favor of just removing it entirely.
--
Michael

Commits

  1. Add TAP test to automate the equivalent of check_guc, take two

  2. Retire src/backend/utils/misc/check_guc

  3. Add TAP test to automate the equivalent of check_guc

  4. Add PostgreSQL::Test::Cluster::config_data()

  5. Introduce pg_settings_get_flags() to find flags associated to a GUC

  6. Revert changes about warnings/errors for placeholders.

  7. Improve the description of various GUCs