Fix 003_check_guc.pl when loading modules with custom GUCs

The test missed that custom GUCs need to be ignored from the list of
parameters that can exist in postgresql.conf.sample.  This caused the
test to fail on a server where such a module is loaded, when using
EXTRA_INSTALL and TEMP_CONFIG, for instance.

Author: Anton A. Melnikov
Discussion: https://postgr.es/m/fc5509ce-5144-4dac-8d13-21793da44fc5@postgrespro.ru
Backpatch-through: 15
pull/150/head
Michael Paquier 2 years ago
parent 354b3ebf17
commit e22819a747
  1. 3
      src/test/modules/test_misc/t/003_check_guc.pl

@ -14,12 +14,13 @@ $node->start;
# Grab the names of all the parameters that can be listed in the # Grab the names of all the parameters that can be listed in the
# configuration sample file. config_file is an exception, it is not # configuration sample file. config_file is an exception, it is not
# in postgresql.conf.sample but is part of the lists from guc_tables.c. # in postgresql.conf.sample but is part of the lists from guc_tables.c.
# Custom GUCs loaded by extensions are excluded.
my $all_params = $node->safe_psql( my $all_params = $node->safe_psql(
'postgres', 'postgres',
"SELECT name "SELECT name
FROM pg_settings FROM pg_settings
WHERE NOT 'NOT_IN_SAMPLE' = ANY (pg_settings_get_flags(name)) AND WHERE NOT 'NOT_IN_SAMPLE' = ANY (pg_settings_get_flags(name)) AND
name <> 'config_file' name <> 'config_file' AND category <> 'Customized Options'
ORDER BY 1"); ORDER BY 1");
# Note the lower-case conversion, for consistency. # Note the lower-case conversion, for consistency.
my @all_params_array = split("\n", lc($all_params)); my @all_params_array = split("\n", lc($all_params));

Loading…
Cancel
Save