On Fri, Feb 11, 2022 at 09:59:55AM -0500, Tom Lane wrote: > Christoph Berg <m...@debian.org> writes: > > this test is failing at Debian package compile time: > > Could not open /usr/share/postgresql/15/postgresql.conf.sample: No such > > file or directory at t/003_check_guc.pl line 47. > > > So it's trying to read from /usr/share/postgresql which doesn't exist > > yet at build time. > > > The relevant part of the test is this: > > > # Find the location of postgresql.conf.sample, based on the information > > # provided by pg_config. > > my $sample_file = > > $node->config_data('--sharedir') . '/postgresql.conf.sample'; > > This seems like a pretty bad idea even if it weren't failing outright. > We should be examining the version of the file that's in the source > tree; the one in the installation tree might have version-skew > problems, if you've not yet done "make install".
My original way used the source tree, but Michael thought it would be an issue for "installcheck" where the config may not be available. https://www.postgresql.org/message-id/YfTg/WHNLVVygy8v%40paquier.xyz This is what I had written: -- test that GUCS are in postgresql.conf SELECT lower(name) FROM tab_settings_flags WHERE NOT not_in_sample EXCEPT SELECT regexp_replace(ln, '^#?([_[:alpha:]]+) (= .*|[^ ]*$)', '\1') AS guc FROM (SELECT regexp_split_to_table(pg_read_file('postgresql.conf'), '\n') AS ln) conf WHERE ln ~ '^#?[[:alpha:]]' ORDER BY 1; lower ----------------------------- config_file plpgsql.check_asserts plpgsql.extra_errors plpgsql.extra_warnings plpgsql.print_strict_params plpgsql.variable_conflict (6 rows) -- test that lines in postgresql.conf that look like GUCs are GUCs SELECT regexp_replace(ln, '^#?([_[:alpha:]]+) (= .*|[^ ]*$)', '\1') AS guc FROM (SELECT regexp_split_to_table(pg_read_file('postgresql.conf'), '\n') AS ln) conf WHERE ln ~ '^#?[[:alpha:]]' EXCEPT SELECT lower(name) FROM tab_settings_flags WHERE NOT not_in_sample ORDER BY 1; guc ------------------- include include_dir include_if_exists (3 rows) -- Justin