Development
Pragmas
DuckDB supports several pragmas for turning profiling on and off and controlling the level of detail in the profiling output.  
The following pragmas are available and can be set using either `PRAGMA` or `SET`.
They can also be reset using `RESET`, followed by the setting name.
For more information, see the [“Profiling”](#docs:configuration:pragmas::profiling) section of the pragmas page.  
| Setting                                                                                                                                                            | Description                                      | Default                                                   | Options                                                                                                                 |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|-----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| [`enable_profiling`](#docs:configuration:pragmas::enable_profiling), [`enable_profile`](#docs:configuration:pragmas::enable_profiling)     | Turn on profiling.                               | `query_tree`                                              | `query_tree`, `json`, `query_tree_optimizer`, `no_output`                                                               |
| [`profiling_output`](#docs:configuration:pragmas::profiling_output)                                                                                    | Set a profiling output file.                     | Console                                                   | A filepath.                                                                                                             |
| [`profiling_mode`](#docs:configuration:pragmas::profiling_mode)                                                                                        | Toggle additional optimizer and planner metrics. | `standard`                                                | `standard`, `detailed`                                                                                                  |
| [`custom_profiling_settings`](#docs:configuration:pragmas::custom_profiling_metrics)                                                                   | Enable or disable specific metrics.              | All metrics except those activated by detailed profiling. | A JSON object that matches the following: `{"METRIC_NAME": "boolean", ...}`. See the [metrics](#::metrics) section below. |
| [`disable_profiling`](#docs:configuration:pragmas::disable_profiling), [`disable_profile`](#docs:configuration:pragmas::disable_profiling) | Turn off profiling.                              |                                                           |                                                                                                                         |