# SET CLUSTER SETTING

The `SET CLUSTER SETTING` statement modifies a cluster-wide setting.

Warning:
Many cluster settings are intended for tuning CockroachDB internals. Before changing these settings, we strongly encourage you to discuss your goals with CockroachDB; otherwise, you use them at your own risk.

## Required privileges

Only members of the `admin` role can modify cluster settings. By default, the `root` user belongs to the `admin` role.

## Synopsis

Note:
The `SET CLUSTER SETTING` statement is unrelated to the other `SET TRANSACTION` and `SET (session variable)` statements.

## Parameters

Parameter | Description
--- | ---
`var_name` | The name of the cluster setting (case-insensitive).
`var_value` | The value for the cluster setting.
`DEFAULT` | Reset the cluster setting to its default value. The `RESET CLUSTER SETTING` resets a cluster setting as well.

## Examples

### Change the default distributed execution parameter

To configure a cluster so that new sessions automatically try to run queries in a distributed fashion:

    > SET CLUSTER SETTING sql.defaults.distsql = 1;

To disable distributed execution for all new sessions:

    > SET CLUSTER SETTING sql.defaults.distsql = 0;

### Disable automatic diagnostic reporting

To opt out of automatic diagnostic reporting of usage data to Cockroach Labs:

    > SET CLUSTER SETTING diagnostics.reporting.enabled = false;

    > SHOW CLUSTER SETTING diagnostics.reporting.enabled;

    +-------------------------------+
    | diagnostics.reporting.enabled |
    +-------------------------------+
    | false                         |
    +-------------------------------+
    (1 row)

### Reset a setting to its default value

Tip:
You can use `RESET CLUSTER SETTING` to reset a cluster setting as well.

    > SET CLUSTER SETTING sql.metrics.statement_details.enabled = false;

    > SHOW CLUSTER SETTING sql.metrics.statement_details.enabled;

    +---------------------------------------+
    | sql.metrics.statement_details.enabled |
    +---------------------------------------+
    | false                                 |
    +---------------------------------------+
    (1 row)

    > SET CLUSTER SETTING sql.metrics.statement_details.enabled = DEFAULT;

    > SHOW CLUSTER SETTING sql.metrics.statement_details.enabled;

    +---------------------------------------+
    | sql.metrics.statement_details.enabled |
    +---------------------------------------+
    | true                                  |
    +---------------------------------------+
    (1 row)

## See also

- `SET` (session variable)
- `SHOW CLUSTER SETTING`
- Cluster settings