At Wed, 13 Jul 2022 18:54:45 -0500, Justin Pryzby <pryzby@telsasoft.com> wrote in
> On Thu, Jul 14, 2022 at 08:46:02AM +0900, Michael Paquier wrote:
> > On Wed, Jul 13, 2022 at 12:30:00PM -0500, Justin Pryzby wrote:
> > > How did you make this list ? Was it by excluding things that failed for you ?
Yes. I didn't confirm each variable. They are the variables differ on
RHEL-family OSes. io_concurrency differs according to
USE_PREFETCH. Regarding to effects of macro definitions, I searched
guc.c for non-GUC_NOT_IN_SAMPLE variables with macro-affected defaults.
WIN32 affects update_process_title
USE_PREFETCH affects effective_io_concurrency and maintenance_io_concurrency
HAVE_UNIX_SOCKETS affects unix_socket_directories and unix_socket_directories
USE_SSL affects ssl_ecdh_curve
USE_OPENSSL affects ssl_ciphers
HAVE_SYSLOG affects syslog_facility
Different from most of the variables already in the exclusion list,
these could be changed at build time, but I haven't found a sensible
way to do that. Otherwise we need to add them to the exclusion list...
> > > cfbot is currently failing due to io_concurrency on windows.
> > > I think there are more GUC which should be included here.
> > >
> > > http://cfbot.cputube.org/kyotaro-horiguchi.html
> >
> > FWIW, I am not really a fan of making this test depend on a hardcoded
> > list of GUCs. The design strength of the existing test is that we
> > don't have such a dependency now, making less to think about in terms
> > of maintenance in the long-term, even if this is now run
> > automatically.
>
> It doesn't really need to be stated that an inclusive list wouldn't be useful.
+1
> That's a list of GUCs to be excluded.
> Which is hardly different from the pre-existing list of exceptions.
>
> # Ignore some exceptions.
> next if $param_name eq "include";
> next if $param_name eq "include_dir";
> next if $param_name eq "include_if_exists";
>
> -- Exceptions are transaction_*.
> SELECT name FROM tab_settings_flags
> WHERE NOT no_show_all AND no_reset_all
> ORDER BY 1;
> name
> ------------------------
> transaction_deferrable
> transaction_isolation
> transaction_read_only
> (3 rows)
>
> How else do you propose to make this work for guc whose defaults vary by
> platform in guc.c or in initdb ?
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center