On 20.05.24 15:59, Tom Lane wrote:
Peter Eisentraut <pe...@eisentraut.org> writes:
This patch converts the compile-time settings
      COPY_PARSE_PLAN_TREES
      WRITE_READ_PARSE_PLAN_TREES
      RAW_EXPRESSION_COVERAGE_TEST

into run-time parameters

      debug_copy_parse_plan_trees
      debug_write_read_parse_plan_trees
      debug_raw_expression_coverage_test

I'm kind of down on this.  It seems like forcing a bunch of
useless-in-production debug support into the standard build.
What of this would be of any use to any non-developer?

We have a bunch of other debug_* settings that are available in production builds, such as

debug_print_parse
debug_print_rewritten
debug_print_plan
debug_pretty_print
debug_discard_caches
debug_io_direct
debug_parallel_query
debug_logical_replication_streaming

Maybe we could hide all of them behind some #ifdef DEBUG_OPTIONS, but in any case, I don't think the ones being proposed here are substantially different from those existing ones that they would require a separate treatment.

My goal is to make these facilities easier to use, avoiding hand-editing pg_config_manual.h and having to recompile.



Reply via email to