They can be activated for tests using PG_TEST_INITDB_EXTRA_OPTS.
The effect is the same, but now you don't need to recompile in order to use these checks.
The compile-time symbols are kept for build farm compatibility, but they now just determine the default value of the run-time settings.
Possible concerns:
- Performance? Looking for example at pg_parse_query() and its siblings, they also check for other debugging settings like log_parser_stats in the main code path, so it doesn't seem to be a concern.
- Access control? I have these settings as PGC_USERSET for now. Maybe they should be PGC_SUSET?
Another thought: Do we really need three separate settings?