The SET CLUSTER SETTING statement modifies a cluster-wide setting.
Required privileges
To use the SET CLUSTER SETTING statement, a user must have one of the following attributes:
- Be a member of the adminrole. (By default, therootuser belongs to theadminrole.)
- Have the - MODIFYCLUSTERSETTINGsystem-level privilege granted.- rootand- adminusers have this system-level privilege by default and are capable of granting it to other users and roles using the- GRANTstatement. For example to grant this system-level privilege to user- maxroach:- GRANT SYSTEM MODIFYCLUSTERSETTING TO maxroach;
- Have the - MODIFYSQLCLUSTERSETTINGsystem-level privilege granted. Users with this privilege are allowed to modify only- sql.defaults.*cluster settings, not all cluster settings.
Synopsis
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 SETTINGresets 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;
Use ALTER ROLE ALL SET {sessionvar} = {val} instead of the sql.defaults.* cluster settings. This allows you to set a default value for all users for any session variable that applies during login, making the sql.defaults.* cluster settings redundant.
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
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)