Re: GUC flags

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers@lists.postgresql.org, bruce@momjian.us, tgl@sss.pgh.pa.us
Date: 2022-02-07T02:40:12Z
Lists: pgsql-hackers

Attachments

On Sun, Feb 06, 2022 at 02:09:45PM +0900, Michael Paquier wrote:
> Actually, I am thinking that we should implement it before retiring
> completely check_guc, but not in the fashion you are suggesting.  I
> would be tempted to add something in the TAP tests as of
> src/test/misc/, where we initialize an instance to get the information
> about all the GUCs from SQL, and map that to the sample file located
> at pg_config --sharedir.  I actually have in my patch set for
> pg_upgrade's TAP a perl routine that could be used for this purpose,
> as of the following in Cluster.pm:

I have been poking at that, and this is finishing to be pretty
elegant as of the attached.  With this in place, we are able to
cross-check GUCs marked as NOT_IN_SAMPLE (or not) with the contents of 
postgresql.conf.sample, so as check_guc could get retired without us
losing much.

I am planning to apply the Cluster.pm part of the patch separately,
for clarity, as I want this routine in place for some other patch.
--
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