> ## Documentation Index
> Fetch the complete documentation index at: https://cockroachlabs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cluster Settings

export const InternalLink = ({version, path = "", children, ...props}) => {
  let detectedVersion = version || "stable";
  if (typeof window !== 'undefined' && !version) {
    const match = window.location.pathname.match(/\/docs\/([^/]+)/);
    if (match) {
      detectedVersion = match[1];
    }
  }
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
  return <a href={`/docs/${detectedVersion}/${normalizedPath}`} {...props}>
      {children}
    </a>;
};

Cluster settings apply to all nodes of a CockroachDB cluster and control, for example, whether or not to share diagnostic details with Cockroach Labs as well as advanced options for debugging and cluster tuning.

<Note>
  In contrast to cluster-wide settings, node-level settings apply to a single node. They are defined by flags passed to the `cockroach start` command when starting a node and cannot be changed without stopping and restarting the node. For more details, see <InternalLink path="cockroach-start">Start a Node</InternalLink>.
</Note>

This page provides information on:

* [Available settings](#settings)
* How to [view current cluster settings](#view-current-cluster-settings)
* How to [change a cluster setting](#change-a-cluster-setting)
* [Sensitive settings](#sensitive-settings)

## Settings

<Danger>
  These cluster settings have a broad impact on CockroachDB internals and affect all applications, workloads, and users running on a CockroachDB cluster. For some settings, a <InternalLink path="set-vars#supported-variables">session setting</InternalLink> could be a more appropriate scope.
</Danger>

<Note>
  Use <InternalLink path="alter-role#set-default-session-variable-values-for-all-users">`ALTER ROLE ALL SET {sessionvar} = {val}`</InternalLink> instead of the `sql.defaults.*` <InternalLink path="cluster-settings">cluster settings</InternalLink>. This allows you to set a default value for all users for any <InternalLink path="set-vars">session variable</InternalLink> that applies during login, making the `sql.defaults.*` cluster settings redundant.
</Note>

<table className="crdb-fixed-table">
  <thead><tr><th style={{width: "30%"}}>Setting</th><th style={{width: "9%"}}>Type</th><th style={{width: "14%"}}>Default</th><th style={{width: "35%"}}>Description</th><th style={{width: "12%"}}>Supported Deployments</th></tr></thead>

  <tbody>
    <tr><td><div id="setting-admission-disk-bandwidth-tokens-elastic-enabled" class="anchored"><code>admission.<wbr />disk\_bandwidth\_tokens.<wbr />elastic.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, and provisioned bandwidth for the disk corresponding to a store is configured, tokens for elastic work will be limited if disk bandwidth becomes a bottleneck</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-epoch-lifo-enabled" class="anchored"><code>admission.<wbr />epoch\_lifo.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when true, epoch-LIFO behavior is enabled when there is significant delay in admission</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-epoch-lifo-epoch-closing-delta-duration" class="anchored"><code>admission.<wbr />epoch\_lifo.<wbr />epoch\_closing\_delta\_duration</code></div></td><td>duration</td><td><code>5ms</code></td><td>the delta duration before closing an epoch, for epoch-LIFO admission control ordering</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-epoch-lifo-epoch-duration" class="anchored"><code>admission.<wbr />epoch\_lifo.<wbr />epoch\_duration</code></div></td><td>duration</td><td><code>100ms</code></td><td>the duration of an epoch, for epoch-LIFO admission control ordering</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-epoch-lifo-queue-delay-threshold-to-switch-to-lifo" class="anchored"><code>admission.<wbr />epoch\_lifo.<wbr />queue\_delay\_threshold\_to\_switch\_to\_lifo</code></div></td><td>duration</td><td><code>105ms</code></td><td>the queue delay encountered by a (tenant,priority) for switching to epoch-LIFO ordering</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-kv-enabled" class="anchored"><code>admission.<wbr />kv.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, work performed by the KV layer is subject to admission control</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-sql-kv-response-enabled" class="anchored"><code>admission.<wbr />sql\_kv\_response.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, work performed by the SQL layer when receiving a KV response is subject to admission control</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-admission-sql-sql-response-enabled" class="anchored"><code>admission.<wbr />sql\_sql\_response.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, work performed by the SQL layer when receiving a DistSQL response is subject to admission control</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-bulkio-backup-file-size" class="anchored"><code>bulkio.<wbr />backup.<wbr />file\_size</code></div></td><td>byte size</td><td><code>128 MiB</code></td><td>target size for individual data files produced during BACKUP</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-bulkio-backup-read-timeout" class="anchored"><code>bulkio.<wbr />backup.<wbr />read\_timeout</code></div></td><td>duration</td><td><code>5m0s</code></td><td>amount of time after which a read attempt is considered timed out, which causes the backup to fail</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-bulkio-backup-read-with-priority-after" class="anchored"><code>bulkio.<wbr />backup.<wbr />read\_with\_priority\_after</code></div></td><td>duration</td><td><code>1m0s</code></td><td>amount of time since the read-as-of time above which a BACKUP should use priority when retrying reads</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-bulkio-import-row-count-validation-unsafe-mode" class="anchored"><code>bulkio.import.row\_count\_validation.mode<br />(alias: bulkio.import.row\_count\_validation.unsafe.mode)</code></div></td><td>enumeration</td><td><code>off</code></td><td>controls validation of imported data via INSPECT jobs. Options: 'off' (no validation), 'async' (background validation), 'sync' (blocking validation). If disabled, IMPORT will not perform a post-import row count check. \[off = 0, async = 1, sync = 2]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-bulkio-merge-file-size" class="anchored"><code>bulkio.<wbr />merge.<wbr />file\_size</code></div></td><td>byte size</td><td><code>1.0 GiB</code></td><td>target size for individual data files produced during local only merge phases</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-bulkio-stream-ingestion-minimum-flush-interval" class="anchored"><code>physical\_replication.consumer.minimum\_flush\_interval<br />(alias: bulkio.stream\_ingestion.minimum\_flush\_interval)</code></div></td><td>duration</td><td><code>5s</code></td><td>the minimum timestamp between flushes; flushes may still occur if internal buffers fill up</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-aggregator-flush-jitter" class="anchored"><code>changefeed.<wbr />aggregator.<wbr />flush\_jitter</code></div></td><td>float</td><td><code>0.1</code></td><td>jitter aggregator flushes as a fraction of min\_checkpoint\_frequency. This setting has no effect if min\_checkpoint\_frequency is set to 0.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-backfill-concurrent-scan-requests" class="anchored"><code>changefeed.<wbr />backfill.<wbr />concurrent\_scan\_requests</code></div></td><td>integer</td><td><code>0</code></td><td>number of concurrent scan requests per node issued during a backfill</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-backfill-scan-request-size" class="anchored"><code>changefeed.<wbr />backfill.<wbr />scan\_request\_size</code></div></td><td>integer</td><td><code>524288</code></td><td>the maximum number of bytes returned by each scan request</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-batch-reduction-retry-enabled" class="anchored"><code>changefeed.batch\_reduction\_retry.enabled<br />(alias: changefeed.batch\_reduction\_retry\_enabled)</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, kafka changefeeds upon erroring on an oversized batch will attempt to resend the messages with progressively lower batch sizes</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-default-range-distribution-strategy" class="anchored"><code>changefeed.<wbr />default\_range\_distribution\_strategy</code></div></td><td>enumeration</td><td><code>default</code></td><td>controls how changefeed work is distributed across nodes. 'default' defers to DistSQL for node selection and work distribution. 'balanced\_simple' uses DistSQL for node selection but then attempts to evenly distribute ranges across those selected nodes for better load balancing. this setting does not override locality restrictions and can be overridden per-changefeed using the 'range\_distribution\_strategy' option. \[default = 0, balanced\_simple = 1]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-event-consumer-worker-queue-size" class="anchored"><code>changefeed.<wbr />event\_consumer\_worker\_queue\_size</code></div></td><td>integer</td><td><code>16</code></td><td>if changefeed.event\_consumer\_workers is enabled, this setting sets the maxmimum number of events which a worker can buffer</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-event-consumer-workers" class="anchored"><code>changefeed.<wbr />event\_consumer\_workers</code></div></td><td>integer</td><td><code>0</code></td><td>the number of workers to use when processing events: \<0 disables, 0 assigns a reasonable default, >0 assigns the setting value. for experimental/core changefeeds and changefeeds using parquet format, this is disabled</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-fast-gzip-enabled" class="anchored"><code>changefeed.<wbr />fast\_gzip.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>use fast gzip implementation</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-frontier-highwater-lag-checkpoint-threshold" class="anchored"><code>changefeed.span\_checkpoint.lag\_threshold<br />(alias: changefeed.frontier\_highwater\_lag\_checkpoint\_threshold)</code></div></td><td>duration</td><td><code>10m0s</code></td><td>the amount of time a changefeed's lagging (slowest) spans must lag behind its leading (fastest) spans before a span-level checkpoint to save leading span progress is written; if 0, span-level checkpoints due to lagging spans is disabled</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-kafka-max-request-size" class="anchored"><code>changefeed.<wbr />kafka.<wbr />max\_request\_size</code></div></td><td>byte size</td><td><code>256 MiB</code></td><td>the maximum number of uncompressed bytes sent in a single request to a Kafka broker; lowering this value helps avoid spurious "message too large" errors that can occur when multiple messages are combined into a single batch; this setting is overridden by the per-changefeed Flush \{ MaxBytes: \<int> } option</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-kafka-v2-error-details-enabled" class="anchored"><code>changefeed.<wbr />kafka\_v2\_error\_details.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if enabled, Kafka v2 sinks will include the message key, size, and MVCC timestamp in message too large errors</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-memory-per-changefeed-limit" class="anchored"><code>changefeed.<wbr />memory.<wbr />per\_changefeed\_limit</code></div></td><td>byte size</td><td><code>512 MiB</code></td><td>controls amount of data that can be buffered per changefeed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-min-highwater-advance" class="anchored"><code>changefeed.resolved\_timestamp.min\_update\_interval<br />(alias: changefeed.min\_highwater\_advance)</code></div></td><td>duration</td><td><code>0s</code></td><td>minimum amount of time that must have elapsed since the last time a changefeed's resolved timestamp was updated before it is eligible to be updated again; default of 0 means no minimum interval is enforced but updating will still be limited by the average time it takes to checkpoint progress</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-node-throttle-config" class="anchored"><code>changefeed.<wbr />node\_throttle\_config</code></div></td><td>string</td><td><code /></td><td>specifies node level throttling configuration for all changefeeeds</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-partition-alg-enabled" class="anchored"><code>changefeed.<wbr />partition\_alg.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if enabled, allows specifying the partition\_alg changefeed option to choose between fnv-1a (default) and murmur2 hash functions for Kafka partitioning. Only affects changefeeds using a kafka sink with changefeed.new\_kafka\_sink\_enabled set to true.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-progress-frontier-persistence-interval" class="anchored"><code>changefeed.<wbr />progress.<wbr />frontier\_persistence.<wbr />interval</code></div></td><td>duration</td><td><code>30s</code></td><td>minimum amount of time that must elapse before a changefeed will persist its entire span frontier again</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-protect-timestamp-max-age" class="anchored"><code>changefeed.<wbr />protect\_timestamp.<wbr />max\_age</code></div></td><td>duration</td><td><code>96h0m0s</code></td><td>fail the changefeed if the protected timestamp age exceeds this threshold; 0 disables expiration</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-protect-timestamp-interval" class="anchored"><code>changefeed.<wbr />protect\_timestamp\_interval</code></div></td><td>duration</td><td><code>10m0s</code></td><td>controls how often the changefeed forwards its protected timestamp to the resolved timestamp</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-schema-feed-read-with-priority-after" class="anchored"><code>changefeed.<wbr />schema\_feed.<wbr />read\_with\_priority\_after</code></div></td><td>duration</td><td><code>1m0s</code></td><td>retry with high priority if we were not able to read descriptors for too long; 0 disables</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-changefeed-sink-io-workers" class="anchored"><code>changefeed.<wbr />sink\_io\_workers</code></div></td><td>integer</td><td><code>0</code></td><td>the number of workers used by changefeeds when sending requests to the sink (currently the batching versions of webhook, pubsub, and kafka sinks that are enabled by changefeed.new\_\<sink type>\_sink\_enabled only): \<0 disables, 0 assigns a reasonable default, >0 assigns the setting value</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-azure-concurrent-upload-buffers" class="anchored"><code>cloudstorage.<wbr />azure.<wbr />concurrent\_upload\_buffers</code></div></td><td>integer</td><td><code>1</code></td><td>controls the number of concurrent buffers that will be used by the Azure client when uploading chunks.Each buffer can buffer up to cloudstorage.write\_chunk.size of memory during an upload</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-azure-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />azure.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-azure-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />azure.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-azure-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />azure.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-azure-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />azure.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-gs-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />gs.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-gs-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />gs.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-gs-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />gs.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-gs-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />gs.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-http-custom-ca" class="anchored"><code>cloudstorage.<wbr />http.<wbr />custom\_ca</code></div></td><td>string</td><td><code /></td><td>custom root CA (appended to system's default CAs) for verifying certificates when interacting with HTTPS storage</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-http-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />http.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-http-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />http.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-http-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />http.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-http-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />http.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nodelocal-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />nodelocal.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nodelocal-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />nodelocal.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nodelocal-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />nodelocal.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nodelocal-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />nodelocal.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nullsink-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />nullsink.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nullsink-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />nullsink.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nullsink-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />nullsink.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-nullsink-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />nullsink.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-s3-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />s3.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-s3-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />s3.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-s3-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />s3.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-s3-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />s3.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-timeout" class="anchored"><code>cloudstorage.<wbr />timeout</code></div></td><td>duration</td><td><code>10m0s</code></td><td>the timeout for import/export storage operations</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-userfile-read-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />userfile.<wbr />read.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-userfile-read-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />userfile.<wbr />read.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-userfile-write-node-burst-limit" class="anchored"><code>cloudstorage.<wbr />userfile.<wbr />write.<wbr />node\_burst\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>burst limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cloudstorage-userfile-write-node-rate-limit" class="anchored"><code>cloudstorage.<wbr />userfile.<wbr />write.<wbr />node\_rate\_limit</code></div></td><td>byte size</td><td><code>0 B</code></td><td>limit on number of bytes per second per node across operations writing to the designated cloud storage provider if non-zero</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cluster-auto-upgrade-enabled" class="anchored"><code>cluster.<wbr />auto\_upgrade.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>disable automatic cluster version upgrade until reset</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-cluster-organization" class="anchored"><code>cluster.<wbr />organization</code></div></td><td>string</td><td><code /></td><td>organization name</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-cluster-preserve-downgrade-option" class="anchored"><code>cluster.<wbr />preserve\_downgrade\_option</code></div></td><td>string</td><td><code /></td><td>disable (automatic or manual) cluster version upgrade from the specified version until reset</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-debug-zip-redact-addresses-enabled" class="anchored"><code>debug.<wbr />zip.<wbr />redact\_addresses.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables the redaction of hostnames and ip addresses in debug zip</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-diagnostics-active-query-dumps-enabled" class="anchored"><code>diagnostics.<wbr />active\_query\_dumps.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>experimental: enable dumping of anonymized active queries to disk when node is under memory pressure</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-diagnostics-forced-sql-stat-reset-interval" class="anchored"><code>diagnostics.<wbr />forced\_sql\_stat\_reset.<wbr />interval</code></div></td><td>duration</td><td><code>2h0m0s</code></td><td>interval after which the reported SQL Stats are reset even if not collected by telemetry reporter. It has a max value of 24H.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-diagnostics-memory-monitoring-dumps-enabled" class="anchored"><code>diagnostics.<wbr />memory\_monitoring\_dumps.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enable dumping of memory monitoring state at the same time as heap profiles are taken</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-diagnostics-reporting-enabled" class="anchored"><code>diagnostics.<wbr />reporting.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enable reporting diagnostic metrics to cockroach labs, but is ignored for Trial or Free licenses</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-diagnostics-reporting-interval" class="anchored"><code>diagnostics.<wbr />reporting.<wbr />interval</code></div></td><td>duration</td><td><code>1h0m0s</code></td><td>interval at which diagnostics data should be reported</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-enterprise-license" class="anchored"><code>enterprise.<wbr />license</code></div></td><td>string</td><td><code /></td><td>the encoded cluster license</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-external-graphite-endpoint" class="anchored"><code>external.<wbr />graphite.<wbr />endpoint</code></div></td><td>string</td><td><code /></td><td>if nonempty, push server metrics to the Graphite or Carbon server at the specified host:port</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-external-graphite-interval" class="anchored"><code>external.<wbr />graphite.<wbr />interval</code></div></td><td>duration</td><td><code>10s</code></td><td>the interval at which metrics are pushed to Graphite (if enabled)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-backup-enabled" class="anchored"><code>feature.<wbr />backup.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable backups, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-changefeed-enabled" class="anchored"><code>feature.<wbr />changefeed.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable changefeeds, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-export-enabled" class="anchored"><code>feature.<wbr />export.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable exports, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-import-enabled" class="anchored"><code>feature.<wbr />import.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable imports, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-infer-rbr-region-col-using-constraint-enabled" class="anchored"><code>feature.<wbr />infer\_rbr\_region\_col\_using\_constraint.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>set to true to enable looking up the region column via a foreign key constraint in a REGIONAL BY ROW table, false to disable; default is false</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-restore-enabled" class="anchored"><code>feature.<wbr />restore.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable restore, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-schema-change-enabled" class="anchored"><code>feature.<wbr />schema\_change.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable schema changes, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-stats-enabled" class="anchored"><code>feature.<wbr />stats.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable CREATE STATISTICS/ANALYZE, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-feature-vector-index-enabled" class="anchored"><code>feature.<wbr />vector\_index.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable vector indexes, false to disable; default is true</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-jobs-retention-time" class="anchored"><code>jobs.<wbr />retention\_time</code></div></td><td>duration</td><td><code>336h0m0s</code></td><td>the amount of time for which records for completed jobs are retained</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-lease-rebalance-threshold" class="anchored"><code>kv.<wbr />allocator.<wbr />lease\_rebalance\_threshold</code></div></td><td>float</td><td><code>0.05</code></td><td>minimum fraction away from the mean a store's lease count can be before it is considered for lease-transfers</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-load-based-lease-rebalancing-enabled" class="anchored"><code>kv.<wbr />allocator.<wbr />load\_based\_lease\_rebalancing.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to enable rebalancing of range leases based on load and latency; has no effect when kv.allocator.load\_based\_rebalancing is set to 'multi-metric only' or 'multi-metric and count'</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-load-based-rebalancing" class="anchored"><code>kv.<wbr />allocator.<wbr />load\_based\_rebalancing</code></div></td><td>enumeration</td><td><code>leases and replicas</code></td><td>whether to rebalance based on the distribution of load across stores \[off = 0, leases = 1, leases and replicas = 2, multi-metric only = 3, multi-metric and count = 4]</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-load-based-rebalancing-objective" class="anchored"><code>kv.<wbr />allocator.<wbr />load\_based\_rebalancing.<wbr />objective</code></div></td><td>enumeration</td><td><code>cpu</code></td><td>what objective does the cluster use to rebalance; if set to `qps` the cluster will attempt to balance qps among stores, if set to `cpu` the cluster will attempt to balance cpu usage among stores \[qps = 0, cpu = 1]</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-load-based-rebalancing-interval" class="anchored"><code>kv.<wbr />allocator.<wbr />load\_based\_rebalancing\_interval</code></div></td><td>duration</td><td><code>1m0s</code></td><td>the rough interval at which each store will check for load-based lease / replica rebalancing opportunities</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-qps-rebalance-threshold" class="anchored"><code>kv.<wbr />allocator.<wbr />qps\_rebalance\_threshold</code></div></td><td>float</td><td><code>0.1</code></td><td>minimum fraction away from the mean a store's QPS (such as queries per second) can be before it is considered overfull or underfull</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-range-rebalance-threshold" class="anchored"><code>kv.<wbr />allocator.<wbr />range\_rebalance\_threshold</code></div></td><td>float</td><td><code>0.05</code></td><td>minimum fraction away from the mean a store's range count can be before it is considered overfull or underfull</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-allocator-store-cpu-rebalance-threshold" class="anchored"><code>kv.<wbr />allocator.<wbr />store\_cpu\_rebalance\_threshold</code></div></td><td>float</td><td><code>0.1</code></td><td>minimum fraction away from the mean a store's cpu usage can be before it is considered overfull or underfull</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-bulk-io-write-max-rate" class="anchored"><code>kv.<wbr />bulk\_io\_write.<wbr />max\_rate</code></div></td><td>byte size</td><td><code>1.0 TiB</code></td><td>the rate limit (bytes/sec) to use for writes to disk on behalf of bulk io ops</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-bulk-io-write-min-capacity-remaining-fraction" class="anchored"><code>kv.<wbr />bulk\_io\_write.<wbr />min\_capacity\_remaining\_fraction</code></div></td><td>float</td><td><code>0.05</code></td><td>remaining store capacity fraction below which bulk ingestion requests are rejected</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-bulk-sst-max-allowed-overage" class="anchored"><code>kv.<wbr />bulk\_sst.<wbr />max\_allowed\_overage</code></div></td><td>byte size</td><td><code>64 MiB</code></td><td>if positive, allowed size in excess of target size for SSTs from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk\_sst.target\_size and kv.bulk\_sst.max\_allowed\_overage in memory</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-bulk-sst-target-size" class="anchored"><code>kv.<wbr />bulk\_sst.<wbr />target\_size</code></div></td><td>byte size</td><td><code>16 MiB</code></td><td>target size for SSTs emitted from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk\_sst.target\_size and kv.bulk\_sst.max\_allowed\_overage in memory</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-follower-reads-enabled" class="anchored"><code>kv.closed\_timestamp.follower\_reads.enabled<br />(alias: kv.closed\_timestamp.follower\_reads\_enabled)</code></div></td><td>boolean</td><td><code>true</code></td><td>allow (all) replicas to serve consistent historical reads based on closed timestamp information</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-lead-for-global-reads-auto-tune-enabled" class="anchored"><code>kv.<wbr />closed\_timestamp.<wbr />lead\_for\_global\_reads\_auto\_tune.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if enabled, observed network latency between leaseholders and their furthest follower will be used to adjust closed timestamp policies for rangesranges configured to serve global reads. kv.closed\_timestamp.lead\_for\_global\_reads\_override takes precedence if set.</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-lead-for-global-reads-override" class="anchored"><code>kv.<wbr />closed\_timestamp.<wbr />lead\_for\_global\_reads\_override</code></div></td><td>duration</td><td><code>0s</code></td><td>if nonzero, overrides the lead time that global\_read ranges use to publish closed timestamps</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-side-transport-interval" class="anchored"><code>kv.<wbr />closed\_timestamp.<wbr />side\_transport\_interval</code></div></td><td>duration</td><td><code>200ms</code></td><td>the interval at which the closed timestamp side-transport attempts to advance each range's closed timestamp; set to 0 to disable the side-transport</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-side-transport-pacing-refresh-interval" class="anchored"><code>kv.<wbr />closed\_timestamp.<wbr />side\_transport\_pacing\_refresh\_interval</code></div></td><td>duration</td><td><code>10ms</code></td><td>the refresh interval for the task pacer that controls pacing of sending sidetransport updates to avoid overloading the system when many connections are waiting</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-side-transport-pacing-smear-interval" class="anchored"><code>kv.<wbr />closed\_timestamp.<wbr />side\_transport\_pacing\_smear\_interval</code></div></td><td>duration</td><td><code>1ms</code></td><td>the smear interval for the task pacer that controls the amount of time each paced batch is going to take when broadcasting sidetransport updates</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-closed-timestamp-target-duration" class="anchored"><code>kv.<wbr />closed\_timestamp.<wbr />target\_duration</code></div></td><td>duration</td><td><code>3s</code></td><td>if nonzero, attempt to provide closed timestamp notifications for timestamps trailing cluster time by approximately this duration</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-dist-sender-circuit-breaker-cancellation-enabled" class="anchored"><code>kv.<wbr />dist\_sender.<wbr />circuit\_breaker.<wbr />cancellation.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when enabled, in-flight requests will be cancelled when the circuit breaker trips</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-dist-sender-circuit-breaker-cancellation-write-grace-period" class="anchored"><code>kv.<wbr />dist\_sender.<wbr />circuit\_breaker.<wbr />cancellation.<wbr />write\_grace\_period</code></div></td><td>duration</td><td><code>10s</code></td><td>how long after the circuit breaker trips to cancel write requests (these can't retry internally, so should be long enough to allow quorum/lease recovery)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-dist-sender-circuit-breaker-probe-interval" class="anchored"><code>kv.<wbr />dist\_sender.<wbr />circuit\_breaker.<wbr />probe.<wbr />interval</code></div></td><td>duration</td><td><code>3s</code></td><td>interval between replica probes</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-dist-sender-circuit-breaker-probe-threshold" class="anchored"><code>kv.<wbr />dist\_sender.<wbr />circuit\_breaker.<wbr />probe.<wbr />threshold</code></div></td><td>duration</td><td><code>3s</code></td><td>duration of errors or stalls after which a replica will be probed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-dist-sender-circuit-breaker-probe-timeout" class="anchored"><code>kv.<wbr />dist\_sender.<wbr />circuit\_breaker.<wbr />probe.<wbr />timeout</code></div></td><td>duration</td><td><code>3s</code></td><td>timeout for replica probes</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-dist-sender-circuit-breakers-mode" class="anchored"><code>kv.<wbr />dist\_sender.<wbr />circuit\_breakers.<wbr />mode</code></div></td><td>enumeration</td><td><code>liveness range only</code></td><td>set of ranges to trip circuit breakers for failing or stalled replicas \[no ranges = 0, liveness range only = 1, all ranges = 2]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-lease-transfer-read-summary-global-budget" class="anchored"><code>kv.<wbr />lease\_transfer\_read\_summary.<wbr />global\_budget</code></div></td><td>byte size</td><td><code>0 B</code></td><td>controls the maximum number of bytes that will be used to summarize the global segment of the timestamp cache during lease transfers and range merges. A smaller budget will result in loss of precision.</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-lease-transfer-read-summary-local-budget" class="anchored"><code>kv.<wbr />lease\_transfer\_read\_summary.<wbr />local\_budget</code></div></td><td>byte size</td><td><code>4.0 MiB</code></td><td>controls the maximum number of bytes that will be used to summarize the local segment of the timestamp cache during lease transfers and range merges. A smaller budget will result in loss of precision.</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-log-range-and-node-events-enabled" class="anchored"><code>kv.<wbr />log\_range\_and\_node\_events.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to transactionally log range events (e.g., split, merge, add/remove voter/non-voter) into system.rangelogand node join and restart events into system.eventolog</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-protectedts-reconciliation-interval" class="anchored"><code>kv.<wbr />protectedts.<wbr />reconciliation.<wbr />interval</code></div></td><td>duration</td><td><code>5m0s</code></td><td>the frequency for reconciling jobs with protected timestamp records</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-raft-leader-fortification-fraction-enabled" class="anchored"><code>kv.<wbr />raft.<wbr />leader\_fortification.<wbr />fraction\_enabled</code></div></td><td>float</td><td><code>1</code></td><td>controls the fraction of ranges for which the raft leader fortification protocol is enabled. Leader fortification is needed for a range to use a Leader lease. Set to 0.0 to disable leader fortification and, by extension, Leader leases. Set to 1.0 to enable leader fortification for all ranges and, by extension, use Leader leases for all ranges which do not require expiration-based leases. Set to a value between 0.0 and 1.0 to gradually roll out Leader leases across the ranges in a cluster.</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-range-range-size-hard-cap" class="anchored"><code>kv.<wbr />range.<wbr />range\_size\_hard\_cap</code></div></td><td>byte size</td><td><code>8.0 GiB</code></td><td>hard cap on the maximum size a range is allowed to grow to withoutsplitting before writes to the range are blocked. Takes precedence over all other configurations</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-range-split-by-load-enabled" class="anchored"><code>kv.range\_split.by\_load.enabled<br />(alias: kv.range\_split.by\_load\_enabled)</code></div></td><td>boolean</td><td><code>true</code></td><td>allow automatic splits of ranges based on where load is concentrated</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-range-split-load-cpu-threshold" class="anchored"><code>kv.<wbr />range\_split.<wbr />load\_cpu\_threshold</code></div></td><td>duration</td><td><code>500ms</code></td><td>the CPU use per second over which, the range becomes a candidate for load based splitting</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-range-split-load-qps-threshold" class="anchored"><code>kv.<wbr />range\_split.<wbr />load\_qps\_threshold</code></div></td><td>integer</td><td><code>2500</code></td><td>the QPS over which, the range becomes a candidate for load based splitting</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-rangefeed-client-stream-startup-rate" class="anchored"><code>kv.<wbr />rangefeed.<wbr />client.<wbr />stream\_startup\_rate</code></div></td><td>integer</td><td><code>100</code></td><td>controls the rate per second the client will initiate new rangefeed stream for a single range; 0 implies unlimited</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-rangefeed-closed-timestamp-refresh-interval" class="anchored"><code>kv.<wbr />rangefeed.<wbr />closed\_timestamp\_refresh\_interval</code></div></td><td>duration</td><td><code>3s</code></td><td>the interval at which closed-timestamp updatesare delivered to rangefeeds; set to 0 to use kv.closed\_timestamp.side\_transport\_interval</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-rangefeed-enabled" class="anchored"><code>kv.<wbr />rangefeed.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, rangefeed registration is enabled</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-kv-replica-circuit-breaker-slow-replication-threshold" class="anchored"><code>kv.<wbr />replica\_circuit\_breaker.<wbr />slow\_replication\_threshold</code></div></td><td>duration</td><td><code>1m0s</code></td><td>duration after which slow proposals trip the per-Replica circuit breaker (zero duration disables breakers)</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-replica-raft-leaderless-unavailable-threshold" class="anchored"><code>kv.<wbr />replica\_raft.<wbr />leaderless\_unavailable\_threshold</code></div></td><td>duration</td><td><code>1m0s</code></td><td>duration after which leaderless replicas is considered unavailable. Set to 0 to disable leaderless replica availability checks</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-replica-stats-addsst-request-size-factor" class="anchored"><code>kv.<wbr />replica\_stats.<wbr />addsst\_request\_size\_factor</code></div></td><td>integer</td><td><code>50000</code></td><td>the divisor that is applied to addsstable request sizes, then recorded in a leaseholders QPS; 0 means all requests are treated as cost 1</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-replication-reports-interval" class="anchored"><code>kv.<wbr />replication\_reports.<wbr />interval</code></div></td><td>duration</td><td><code>1m0s</code></td><td>the frequency for generating the replication\_constraint\_stats, replication\_stats\_report and replication\_critical\_localities reports (set to 0 to disable)</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-snapshot-rebalance-max-rate" class="anchored"><code>kv.<wbr />snapshot\_rebalance.<wbr />max\_rate</code></div></td><td>byte size</td><td><code>32 MiB</code></td><td>the rate limit (bytes/sec) to use for rebalance and upreplication snapshots</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-max-intents-and-locks" class="anchored"><code>kv.<wbr />transaction.<wbr />max\_intents\_and\_locks</code></div></td><td>integer</td><td><code>0</code></td><td>maximum count of inserts or durable locks for a single transactions, 0 to disable</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-max-intents-bytes" class="anchored"><code>kv.<wbr />transaction.<wbr />max\_intents\_bytes</code></div></td><td>integer</td><td><code>4194304</code></td><td>maximum number of bytes used to track locks in transactions</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-max-refresh-spans-bytes" class="anchored"><code>kv.<wbr />transaction.<wbr />max\_refresh\_spans\_bytes</code></div></td><td>integer</td><td><code>4194304</code></td><td>maximum number of bytes used to track refresh spans in serializable transactions</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-randomized-anchor-key-enabled" class="anchored"><code>kv.<wbr />transaction.<wbr />randomized\_anchor\_key.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>dictates whether a transactions anchor key is randomized or not</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-reject-over-max-intents-budget-enabled" class="anchored"><code>kv.<wbr />transaction.<wbr />reject\_over\_max\_intents\_budget.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, transactions that exceed their lock tracking budget (kv.transaction.max\_intents\_bytes) are rejected instead of having their lock spans imprecisely compressed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-write-buffering-enabled" class="anchored"><code>kv.<wbr />transaction.<wbr />write\_buffering.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if enabled, transactional writes are buffered on the client</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-write-buffering-max-buffer-size" class="anchored"><code>kv.<wbr />transaction.<wbr />write\_buffering.<wbr />max\_buffer\_size</code></div></td><td>byte size</td><td><code>4.0 MiB</code></td><td>if non-zero, defines that maximum size of the buffer that will be used to buffer transactional writes per-transaction</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-write-pipelining-locking-reads-enabled" class="anchored"><code>kv.<wbr />transaction.<wbr />write\_pipelining.<wbr />locking\_reads.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if enabled, transactional locking reads are pipelined through Raft consensus</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-write-pipelining-ranged-writes-enabled" class="anchored"><code>kv.<wbr />transaction.<wbr />write\_pipelining.<wbr />ranged\_writes.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if enabled, transactional ranged writes are pipelined through Raft consensus</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-write-pipelining-enabled" class="anchored"><code>kv.transaction.write\_pipelining.enabled<br />(alias: kv.transaction.write\_pipelining\_enabled)</code></div></td><td>boolean</td><td><code>true</code></td><td>if enabled, transactional writes are pipelined through Raft consensus</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kv-transaction-write-pipelining-max-batch-size" class="anchored"><code>kv.transaction.write\_pipelining.max\_batch\_size<br />(alias: kv.transaction.write\_pipelining\_max\_batch\_size)</code></div></td><td>integer</td><td><code>128</code></td><td>if non-zero, defines that maximum size batch that will be pipelined through Raft consensus</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kvadmission-store-provisioned-bandwidth" class="anchored"><code>kvadmission.<wbr />store.<wbr />provisioned\_bandwidth</code></div></td><td>byte size</td><td><code>0 B</code></td><td>if set to a non-zero value, this is used as the provisioned bandwidth (in bytes/s), for each store. It can be overridden on a per-store basis using the --store flag. Note that setting the provisioned bandwidth to a positive value may enable disk bandwidth based admission control, since admission.disk\_bandwidth\_tokens.elastic.enabled defaults to true</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kvadmission-store-snapshot-ingest-bandwidth-control-enabled" class="anchored"><code>kvadmission.<wbr />store.<wbr />snapshot\_ingest\_bandwidth\_control.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if set to true, snapshot ingests will be subject to disk write control in AC</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-kvadmission-store-snapshot-ingest-bandwidth-control-min-rate-enabled" class="anchored"><code>kvadmission.<wbr />store.<wbr />snapshot\_ingest\_bandwidth\_control.<wbr />min\_rate.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if set to true, snapshot ingests will be admitted at a minimum rate when kvadmission.store.provisioned\_bandwidth is set to a non-zero value. Disabling this setting can lead to snapshots being starved out by foreground traffic.</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-log-channel-compatibility-mode-enabled" class="anchored"><code>log.<wbr />channel\_compatibility\_mode.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when true, logs will to log to their legacy (pre 26.1) logging channels; when false, logs will be logged to new logging channels</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-obs-ash-buffer-size" class="anchored"><code>obs.<wbr />ash.<wbr />buffer\_size</code></div></td><td>integer</td><td><code>1000000</code></td><td>number of ASH samples to retain in memory</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-obs-ash-enabled" class="anchored"><code>obs.<wbr />ash.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enable active session history sampling</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-obs-ash-log-interval" class="anchored"><code>obs.<wbr />ash.<wbr />log\_interval</code></div></td><td>duration</td><td><code>10m0s</code></td><td>interval between periodic ASH top-N workload summary logs; also used as the lookback window for ASH reports written by the env sampler profiler</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-obs-ash-log-top-n" class="anchored"><code>obs.<wbr />ash.<wbr />log\_top\_n</code></div></td><td>integer</td><td><code>10</code></td><td>maximum number of entries in periodic ASH workload summary, ranked by sample count descending</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-obs-ash-response-limit" class="anchored"><code>obs.<wbr />ash.<wbr />response\_limit</code></div></td><td>integer</td><td><code>10000</code></td><td>maximum number of ASH samples returned per node in fan-out responses</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-obs-ash-sample-interval" class="anchored"><code>obs.<wbr />ash.<wbr />sample\_interval</code></div></td><td>duration</td><td><code>1s</code></td><td>interval between ASH samples</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-obs-tablemetadata-automatic-updates-enabled" class="anchored"><code>obs.<wbr />tablemetadata.<wbr />automatic\_updates.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables automatic updates of the table metadata cache system.table\_metadata</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-obs-tablemetadata-data-valid-duration" class="anchored"><code>obs.<wbr />tablemetadata.<wbr />data\_valid\_duration</code></div></td><td>duration</td><td><code>20m0s</code></td><td>the duration for which the data in system.table\_metadata is considered valid</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-restore-wait-for-span-config-conformance-enabled" class="anchored"><code>restore.<wbr />wait\_for\_span\_config\_conformance.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if enabled, RESTORE will ensure span config conformance before ingestion</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-schedules-backup-gc-protection-enabled" class="anchored"><code>schedules.<wbr />backup.<wbr />gc\_protection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enable chaining of GC protection across backups run as part of a schedule</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-security-client-cert-san-required-enabled" class="anchored"><code>security.<wbr />client\_cert.<wbr />san\_required.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>mandates a requirement for client certs to contain SAN</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-security-client-cert-subject-required-enabled" class="anchored"><code>security.<wbr />client\_cert.<wbr />subject\_required.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>mandates a requirement for subject role to be set for db user</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-security-ocsp-mode" class="anchored"><code>security.<wbr />ocsp.<wbr />mode</code></div></td><td>enumeration</td><td><code>off</code></td><td>use OCSP to check whether TLS certificates are revoked. If the OCSP server is unreachable, in strict mode all certificates will be rejected and in lax mode all certificates will be accepted. \[off = 0, lax = 1, strict = 2]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-security-ocsp-timeout" class="anchored"><code>security.<wbr />ocsp.<wbr />timeout</code></div></td><td>duration</td><td><code>3s</code></td><td>timeout before considering the OCSP server unreachable</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-security-provisioning-ldap-enabled" class="anchored"><code>security.<wbr />provisioning.<wbr />ldap.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables automatic creation of SQL users upon successful LDAP login</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-auth-log-sql-connections-enabled" class="anchored"><code>server.<wbr />auth\_log.<wbr />sql\_connections.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, log SQL client connect and disconnect events to the SESSIONS log channel (note: may hinder performance on loaded nodes)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-auth-log-sql-sessions-enabled" class="anchored"><code>server.<wbr />auth\_log.<wbr />sql\_sessions.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, log verbose SQL session authentication events to the SESSIONS log channel (note: may hinder performance on loaded nodes). Session start and end events are always logged regardless of this setting; disable the SESSIONS log channel to suppress them.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-authentication-cache-enabled" class="anchored"><code>server.<wbr />authentication\_cache.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enables a cache used during authentication to avoid lookups to system tables when retrieving per-user authentication-related information</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-child-metrics-enabled" class="anchored"><code>server.<wbr />child\_metrics.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables the exporting of child metrics, additional prometheus time series with extra labels</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-child-metrics-include-aggregate-enabled" class="anchored"><code>server.<wbr />child\_metrics.<wbr />include\_aggregate.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>include the reporting of the aggregate time series when child metrics are enabled. This cluster setting has no effect if child metrics are disabled.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-clock-forward-jump-check-enabled" class="anchored"><code>server.clock.forward\_jump\_check.enabled<br />(alias: server.clock.forward\_jump\_check\_enabled)</code></div></td><td>boolean</td><td><code>false</code></td><td>if enabled, forward clock jumps > max\_offset/2 will cause a panic</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-clock-persist-upper-bound-interval" class="anchored"><code>server.<wbr />clock.<wbr />persist\_upper\_bound\_interval</code></div></td><td>duration</td><td><code>0s</code></td><td>the interval between persisting the wall time upper bound of the clock. The clock does not generate a wall time greater than the persisted timestamp and will panic if it sees a wall time greater than this value. When cockroach starts, it waits for the wall time to catch-up till this persisted timestamp. This guarantees monotonic wall time across server restarts. Not setting this or setting a value of 0 disables this feature.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-consistency-check-max-rate" class="anchored"><code>server.<wbr />consistency\_check.<wbr />max\_rate</code></div></td><td>byte size</td><td><code>8.0 MiB</code></td><td>the rate limit (bytes/sec) to use for consistency checks; used in conjunction with server.consistency\_check.interval to control the frequency of consistency checks. Note that setting this too high can negatively impact performance.</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-eventlog-enabled" class="anchored"><code>server.<wbr />eventlog.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if set, logged notable events are also stored in the table system.eventlog</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-eventlog-ttl" class="anchored"><code>server.<wbr />eventlog.<wbr />ttl</code></div></td><td>duration</td><td><code>2160h0m0s</code></td><td>if nonzero, entries in system.eventlog older than this duration are periodically purged</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-host-based-authentication-configuration" class="anchored"><code>server.<wbr />host\_based\_authentication.<wbr />configuration</code></div></td><td>string</td><td><code /></td><td>host-based authentication configuration to use during connection authentication</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-hot-ranges-request-node-timeout" class="anchored"><code>server.<wbr />hot\_ranges\_request.<wbr />node.<wbr />timeout</code></div></td><td>duration</td><td><code>5m0s</code></td><td>the duration allowed for a single node to return hot range data before the request is cancelled; if set to 0, there is no timeout</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-hsts-enabled" class="anchored"><code>server.<wbr />hsts.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, HSTS headers will be sent along with all HTTP requests. The headers will contain a max-age setting of one year. Browsers honoring the header will always use HTTPS to access the DB Console. Ensure that TLS is correctly configured prior to enabling.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-http-base-path" class="anchored"><code>server.<wbr />http.<wbr />base\_path</code></div></td><td>string</td><td><code>/</code></td><td>path to redirect the user to upon succcessful login</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-identity-map-configuration" class="anchored"><code>server.<wbr />identity\_map.<wbr />configuration</code></div></td><td>string</td><td><code /></td><td>system-identity to database-username mappings</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-audience" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />audience</code></div></td><td>string</td><td><code /></td><td>sets accepted audience values for JWT logins over the SQL interface</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-claim" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />claim</code></div></td><td>string</td><td><code /></td><td>sets the JWT claim that is parsed to get the username</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-client-timeout" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />client.<wbr />timeout</code></div></td><td>duration</td><td><code>15s</code></td><td>sets the client timeout for external calls made during JWT authentication (e.g. fetching JWKS, etc.)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-enabled" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables or disables JWT login for the SQL interface</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-issuers" class="anchored"><code>server.jwt\_authentication.issuers.configuration<br />(alias: server.jwt\_authentication.issuers)</code></div></td><td>string</td><td><code /></td><td>sets accepted issuer values for JWT logins over the SQL interface which can be a single issuer URL string or a JSON string containing an array of issuer URLs or a JSON object containing map of issuer URLS to JWKS URIs</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-issuers-custom-ca" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />issuers.<wbr />custom\_ca</code></div></td><td>string</td><td><code /></td><td>sets the PEM encoded custom root CA for verifying certificates while fetching JWKS</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-jwks" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />jwks</code></div></td><td>string</td><td><code>\{"keys":\[]}</code></td><td>sets the public key set for JWT logins over the SQL interface (JWKS format)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-jwt-authentication-jwks-auto-fetch-enabled" class="anchored"><code>server.<wbr />jwt\_authentication.<wbr />jwks\_auto\_fetch.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables or disables automatic fetching of JWKS from the issuer's well-known endpoint or JWKS URI set in JWTAuthIssuersConfig. If this is enabled, the server.jwt\_authentication.jwks will be ignored.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-ldap-authentication-client-tls-certificate" class="anchored"><code>server.<wbr />ldap\_authentication.<wbr />client.<wbr />tls\_certificate</code></div></td><td>string</td><td><code /></td><td>sets the client certificate PEM for establishing mTLS connection with LDAP server</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-ldap-authentication-client-tls-key" class="anchored"><code>server.<wbr />ldap\_authentication.<wbr />client.<wbr />tls\_key</code></div></td><td>string</td><td><code /></td><td>sets the client key PEM for establishing mTLS connection with LDAP server</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-ldap-authentication-domain-custom-ca" class="anchored"><code>server.<wbr />ldap\_authentication.<wbr />domain.<wbr />custom\_ca</code></div></td><td>string</td><td><code /></td><td>sets the PEM encoded custom root CA for verifying domain certificates when establishing connection with LDAP server</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-log-gc-max-deletions-per-cycle" class="anchored"><code>server.<wbr />log\_gc.<wbr />max\_deletions\_per\_cycle</code></div></td><td>integer</td><td><code>1000</code></td><td>the maximum number of entries to delete on each purge of log-like system tables</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-log-gc-period" class="anchored"><code>server.<wbr />log\_gc.<wbr />period</code></div></td><td>duration</td><td><code>1h0m0s</code></td><td>the period at which log-like system tables are checked for old entries</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-max-connections-per-gateway" class="anchored"><code>server.<wbr />max\_connections\_per\_gateway</code></div></td><td>integer</td><td><code>-1</code></td><td>the maximum number of SQL connections per gateway allowed at a given time (note: this will only limit future connection attempts and will not affect already established connections). Negative values result in unlimited number of connections. Superusers are not affected by this limit.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-max-open-transactions-per-gateway" class="anchored"><code>server.<wbr />max\_open\_transactions\_per\_gateway</code></div></td><td>integer</td><td><code>-1</code></td><td>the maximum number of open SQL transactions per gateway allowed at a given time. Negative values result in unlimited number of connections. Superusers are not affected by this limit.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-autologin" class="anchored"><code>server.oidc\_authentication.autologin.enabled<br />(alias: server.oidc\_authentication.autologin)</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, logged-out visitors to the DB Console will be automatically redirected to the OIDC login endpoint</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-button-text" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />button\_text</code></div></td><td>string</td><td><code>Log in with your OIDC provider</code></td><td>text to show on button on DB Console login page to login with your OIDC provider (only shown if OIDC is enabled)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-claim-json-key" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />claim\_json\_key</code></div></td><td>string</td><td><code /></td><td>sets JSON key of principal to extract from payload after OIDC authentication completes (usually email or sid)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-client-timeout" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />client.<wbr />timeout</code></div></td><td>duration</td><td><code>15s</code></td><td>sets the client timeout for external calls made during OIDC authentication (e.g. authorization code flow, etc.)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-client-id" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />client\_id</code></div></td><td>string</td><td><code /></td><td>sets OIDC client id</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-client-secret" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />client\_secret</code></div></td><td>string</td><td><code /></td><td>sets OIDC client secret</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-enabled" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables or disabled OIDC login for the DB Console</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-principal-regex" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />principal\_regex</code></div></td><td>string</td><td><code>(.+)</code></td><td>regular expression to apply to extracted principal (see claim\_json\_key setting) to translate to SQL user (golang regex format, must include 1 grouping to extract)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-provider-custom-ca" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />provider.<wbr />custom\_ca</code></div></td><td>string</td><td><code /></td><td>sets the PEM encoded custom root CA for verifying certificates while authenticating through the OIDC provider</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-provider-url" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />provider\_url</code></div></td><td>string</td><td><code /></td><td>sets OIDC provider URL (\{provider\_url}/.well-known/openid-configuration must resolve)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-redirect-url" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />redirect\_url</code></div></td><td>string</td><td><code>[https://localhost:8080/oidc/v1/callback](https://localhost:8080/oidc/v1/callback)</code></td><td>sets OIDC redirect URL via a URL string or a JSON string containing a required `redirect_urls` key with an object that maps from region keys to URL strings (URLs should point to your load balancer and must route to the path /oidc/v1/callback)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-scopes" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />scopes</code></div></td><td>string</td><td><code>openid</code></td><td>sets OIDC scopes to include with authentication request (space delimited list of strings, required to start with `openid`)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-oidc-authentication-tls-insecure-skip-verify-enabled" class="anchored"><code>server.<wbr />oidc\_authentication.<wbr />tls\_insecure\_skip\_verify.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, TLS certificate verification is skipped for connections to the OIDC provider (insecure)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-rangelog-ttl" class="anchored"><code>server.<wbr />rangelog.<wbr />ttl</code></div></td><td>duration</td><td><code>720h0m0s</code></td><td>if nonzero, entries in system.rangelog older than this duration are periodically purged</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-redact-sensitive-settings-enabled" class="anchored"><code>server.<wbr />redact\_sensitive\_settings.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables or disables the redaction of sensitive settings in the output of SHOW CLUSTER SETTINGS and SHOW ALL CLUSTER SETTINGS for users without the MODIFYCLUSTERSETTING privilege</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-shutdown-connection-wait" class="anchored"><code>server.shutdown.connections.timeout<br />(alias: server.shutdown.connection\_wait)</code></div></td><td>duration</td><td><code>0s</code></td><td>the maximum amount of time a server waits for all SQL connections to be closed before proceeding with a drain. (note that the --drain-wait parameter for cockroach node drain may need adjustment after changing this setting)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-shutdown-drain-wait" class="anchored"><code>server.shutdown.initial\_wait<br />(alias: server.shutdown.drain\_wait)</code></div></td><td>duration</td><td><code>0s</code></td><td>the amount of time a server waits in an unready state before proceeding with a drain (note that the --drain-wait parameter for cockroach node drain may need adjustment after changing this setting. --drain-wait is to specify the duration of the whole draining process, while server.shutdown.initial\_wait is to set the wait time for health probes to notice that the node is not ready.)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-shutdown-lease-transfer-wait" class="anchored"><code>server.shutdown.lease\_transfer\_iteration.timeout<br />(alias: server.shutdown.lease\_transfer\_wait)</code></div></td><td>duration</td><td><code>5s</code></td><td>the timeout for a single iteration of the range lease transfer phase of draining (note that the --drain-wait parameter for cockroach node drain may need adjustment after changing this setting)</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-shutdown-query-wait" class="anchored"><code>server.shutdown.transactions.timeout<br />(alias: server.shutdown.query\_wait)</code></div></td><td>duration</td><td><code>10s</code></td><td>the timeout for waiting for active transactions to finish during a drain (note that the --drain-wait parameter for cockroach node drain may need adjustment after changing this setting)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-sql-tcp-keep-alive-count" class="anchored"><code>server.<wbr />sql\_tcp\_keep\_alive.<wbr />count</code></div></td><td>integer</td><td><code>3</code></td><td>maximum number of probes that will be sent out before a connection is dropped because it's unresponsive (Linux and Darwin only). The value 0 is the operating system default.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-sql-tcp-keep-alive-idle" class="anchored"><code>server.<wbr />sql\_tcp\_keep\_alive.<wbr />idle</code></div></td><td>duration</td><td><code>0s</code></td><td>time with no network activity before sending a TCP keepalive probe (Linux and Darwin only). If 0, the value of server.sql\_tcp\_keep\_alive.interval is used. The value 0 is the operating system default.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-sql-tcp-keep-alive-interval" class="anchored"><code>server.<wbr />sql\_tcp\_keep\_alive.<wbr />interval</code></div></td><td>duration</td><td><code>10s</code></td><td>time between keep alive probes and idle time before probes are sent out. The value 0 is the operating system default.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-sql-tcp-user-timeout" class="anchored"><code>server.<wbr />sql\_tcp\_user.<wbr />timeout</code></div></td><td>duration</td><td><code>0s</code></td><td>specifies the maximum amount of time that transmitted data can remain unacknowledged before the underlying TCP connection is forcefully closed. (Linux and Darwin only). The value 0 is the operating system default.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-time-until-store-dead" class="anchored"><code>server.<wbr />time\_until\_store\_dead</code></div></td><td>duration</td><td><code>5m0s</code></td><td>the time after which if there is no new gossiped information about a store, it is considered dead</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-cert-password-method-auto-scram-promotion-enabled" class="anchored"><code>server.<wbr />user\_login.<wbr />cert\_password\_method.<wbr />auto\_scram\_promotion.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>whether to automatically promote cert-password authentication to use SCRAM</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-downgrade-scram-stored-passwords-to-bcrypt-enabled" class="anchored"><code>server.<wbr />user\_login.<wbr />downgrade\_scram\_stored\_passwords\_to\_bcrypt.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if server.user\_login.password\_encryption=crdb-bcrypt, this controls whether to automatically re-encode stored passwords using scram-sha-256 to crdb-bcrypt</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-min-password-length" class="anchored"><code>server.<wbr />user\_login.<wbr />min\_password\_length</code></div></td><td>integer</td><td><code>1</code></td><td>the minimum length accepted for passwords set in cleartext via SQL. Note that a value lower than 1 is ignored: passwords cannot be empty in any case. This setting only applies when adding new users or altering an existing user's password; it will not affect existing logins.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-password-encryption" class="anchored"><code>server.<wbr />user\_login.<wbr />password\_encryption</code></div></td><td>enumeration</td><td><code>scram-sha-256</code></td><td>which hash method to use to encode cleartext passwords passed via ALTER/CREATE USER/ROLE WITH PASSWORD \[crdb-bcrypt = 2, scram-sha-256 = 3]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-password-hashes-default-cost-crdb-bcrypt" class="anchored"><code>server.<wbr />user\_login.<wbr />password\_hashes.<wbr />default\_cost.<wbr />crdb\_bcrypt</code></div></td><td>integer</td><td><code>10</code></td><td>the hashing cost to use when storing passwords supplied as cleartext by SQL clients with the hashing method crdb-bcrypt (allowed range: 4-31)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-password-hashes-default-cost-scram-sha-256" class="anchored"><code>server.<wbr />user\_login.<wbr />password\_hashes.<wbr />default\_cost.<wbr />scram\_sha\_256</code></div></td><td>integer</td><td><code>10610</code></td><td>the hashing cost to use when storing passwords supplied as cleartext by SQL clients with the hashing method scram-sha-256 (allowed range: 4096-240000000000)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-rehash-scram-stored-passwords-on-cost-change-enabled" class="anchored"><code>server.<wbr />user\_login.<wbr />rehash\_scram\_stored\_passwords\_on\_cost\_change.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if server.user\_login.password\_hashes.default\_cost.scram\_sha\_256 differs from, the cost in a stored hash, this controls whether to automatically re-encode stored passwords using scram-sha-256 with the new default cost</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-timeout" class="anchored"><code>server.<wbr />user\_login.<wbr />timeout</code></div></td><td>duration</td><td><code>10s</code></td><td>timeout after which client authentication times out if some system range is unavailable (0 = no timeout)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-user-login-upgrade-bcrypt-stored-passwords-to-scram-enabled" class="anchored"><code>server.<wbr />user\_login.<wbr />upgrade\_bcrypt\_stored\_passwords\_to\_scram.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if server.user\_login.password\_encryption=scram-sha-256, this controls whether to automatically re-encode stored passwords using crdb-bcrypt to scram-sha-256</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-web-session-purge-ttl" class="anchored"><code>server.<wbr />web\_session.<wbr />purge.<wbr />ttl</code></div></td><td>duration</td><td><code>1h0m0s</code></td><td>if nonzero, entries in system.web\_sessions older than this duration are periodically purged</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-server-web-session-timeout" class="anchored"><code>server.web\_session.timeout<br />(alias: server.web\_session\_timeout)</code></div></td><td>duration</td><td><code>168h0m0s</code></td><td>the duration that a newly created web session will be valid</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-spanconfig-bounds-enabled" class="anchored"><code>spanconfig.<wbr />bounds.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>dictates whether span config bounds are consulted when serving span configs for secondary tenants</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-spanconfig-storage-coalesce-adjacent-enabled" class="anchored"><code>spanconfig.range\_coalescing.system.enabled<br />(alias: spanconfig.storage\_coalesce\_adjacent.enabled)</code></div></td><td>boolean</td><td><code>true</code></td><td>collapse adjacent ranges with the same span configs, for the ranges specific to the system tenant</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-spanconfig-tenant-coalesce-adjacent-enabled" class="anchored"><code>spanconfig.range\_coalescing.application.enabled<br />(alias: spanconfig.tenant\_coalesce\_adjacent.enabled)</code></div></td><td>boolean</td><td><code>true</code></td><td>collapse adjacent ranges with the same span configs across all secondary tenant keyspaces</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-auth-change-own-password-enabled" class="anchored"><code>sql.<wbr />auth.<wbr />change\_own\_password.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>controls whether a user is allowed to change their own password, even if they have no other privileges</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-auth-grant-option-for-owner-enabled" class="anchored"><code>sql.<wbr />auth.<wbr />grant\_option\_for\_owner.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>determines whether the GRANT OPTION for privileges is implicitly given to the owner of an object</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-auth-grant-option-inheritance-enabled" class="anchored"><code>sql.<wbr />auth.<wbr />grant\_option\_inheritance.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>determines whether the GRANT OPTION for privileges is inherited through role membership</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-auth-public-schema-create-privilege-enabled" class="anchored"><code>sql.<wbr />auth.<wbr />public\_schema\_create\_privilege.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>determines whether to grant all users the CREATE privileges on the public schema when it is created</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-auth-skip-underlying-view-privilege-checks-enabled" class="anchored"><code>sql.<wbr />auth.<wbr />skip\_underlying\_view\_privilege\_checks.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>determines whether to skip privilege checks on tables underlying views. When enabled, users with SELECT privileges on a view can query it regardless of their privileges on the underlying tables, and row-level security policies are evaluated as the invoking user rather than the view owner. This restores pre-v26.2 behavior.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-catalog-allow-leased-descriptors-enabled" class="anchored"><code>sql.<wbr />catalog.<wbr />allow\_leased\_descriptors.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if true, catalog views (crdb\_internal, information\_schema, pg\_catalog) can use leased descriptors for improved performance</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-closed-session-cache-capacity" class="anchored"><code>sql.<wbr />closed\_session\_cache.<wbr />capacity</code></div></td><td>integer</td><td><code>1000</code></td><td>the maximum number of sessions in the cache</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-closed-session-cache-time-to-live" class="anchored"><code>sql.<wbr />closed\_session\_cache.<wbr />time\_to\_live</code></div></td><td>integer</td><td><code>3600</code></td><td>the maximum time to live, in seconds</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-contention-event-store-capacity" class="anchored"><code>sql.<wbr />contention.<wbr />event\_store.<wbr />capacity</code></div></td><td>byte size</td><td><code>64 MiB</code></td><td>the in-memory storage capacity per-node of contention event store</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-contention-event-store-duration-threshold" class="anchored"><code>sql.<wbr />contention.<wbr />event\_store.<wbr />duration\_threshold</code></div></td><td>duration</td><td><code>0s</code></td><td>minimum contention duration to cause the contention events to be collected into crdb\_internal.transaction\_contention\_events</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-contention-record-serialization-conflicts-enabled" class="anchored"><code>sql.<wbr />contention.<wbr />record\_serialization\_conflicts.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enables recording 40001 errors with conflicting txn meta as SERIALIZATION\_CONFLICTcontention events into crdb\_internal.transaction\_contention\_events</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-contention-txn-id-cache-max-size" class="anchored"><code>sql.<wbr />contention.<wbr />txn\_id\_cache.<wbr />max\_size</code></div></td><td>byte size</td><td><code>64 MiB</code></td><td>the maximum byte size TxnID cache will use (set to 0 to disable)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-cross-db-fks-enabled" class="anchored"><code>sql.<wbr />cross\_db\_fks.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, creating foreign key references across databases is allowed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-cross-db-sequence-owners-enabled" class="anchored"><code>sql.<wbr />cross\_db\_sequence\_owners.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, creating sequences owned by tables from other databases is allowed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-cross-db-sequence-references-enabled" class="anchored"><code>sql.<wbr />cross\_db\_sequence\_references.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, sequences referenced by tables from other databases are allowed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-cross-db-views-enabled" class="anchored"><code>sql.<wbr />cross\_db\_views.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, creating views that refer to other databases is allowed</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-cost-scans-with-default-col-size-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />cost\_scans\_with\_default\_col\_size.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>setting to true uses the same size for all columns to compute scan cost<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-datestyle" class="anchored"><code>sql.<wbr />defaults.<wbr />datestyle</code></div></td><td>enumeration</td><td><code>iso, mdy</code></td><td>default value for DateStyle session setting \[iso, mdy = 0, iso, dmy = 1, iso, ymd = 2]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-default-hash-sharded-index-bucket-count" class="anchored"><code>sql.<wbr />defaults.<wbr />default\_hash\_sharded\_index\_bucket\_count</code></div></td><td>integer</td><td><code>16</code></td><td>used as bucket count if bucket count is not specified in hash sharded index definition<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-default-int-size" class="anchored"><code>sql.<wbr />defaults.<wbr />default\_int\_size</code></div></td><td>integer</td><td><code>8</code></td><td>the size, in bytes, of an INT type<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-disallow-full-table-scans-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />disallow\_full\_table\_scans.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>setting to true rejects queries that have planned a full table scan; set large\_full\_scan\_rows > 0 to allow small full table scans estimated to read fewer than large\_full\_scan\_rows<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-distsql" class="anchored"><code>sql.<wbr />defaults.<wbr />distsql</code></div></td><td>enumeration</td><td><code>auto</code></td><td>default distributed SQL execution mode \[off = 0, auto = 1, on = 2, always = 3]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-experimental-alter-column-type-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />experimental\_alter\_column\_type.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for experimental\_alter\_column\_type session setting; enables the use of ALTER COLUMN TYPE for general conversions<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-experimental-distsql-planning" class="anchored"><code>sql.<wbr />defaults.<wbr />experimental\_distsql\_planning</code></div></td><td>enumeration</td><td><code>off</code></td><td>default experimental\_distsql\_planning mode; enables experimental opt-driven DistSQL planning \[off = 0, on = 1]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-experimental-enable-unique-without-index-constraints-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />experimental\_enable\_unique\_without\_index\_constraints.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for experimental\_enable\_unique\_without\_index\_constraints session setting;disables unique without index constraints by default<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-experimental-implicit-column-partitioning-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />experimental\_implicit\_column\_partitioning.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for experimental\_enable\_temp\_tables; allows for the use of implicit column partitioning<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-experimental-temporary-tables-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />experimental\_temporary\_tables.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for experimental\_enable\_temp\_tables; allows for use of temporary tables by default<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-foreign-key-cascades-limit" class="anchored"><code>sql.<wbr />defaults.<wbr />foreign\_key\_cascades\_limit</code></div></td><td>integer</td><td><code>10000</code></td><td>default value for foreign\_key\_cascades\_limit session setting; limits the number of cascading operations that run as part of a single query<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-idle-in-session-timeout" class="anchored"><code>sql.<wbr />defaults.<wbr />idle\_in\_session\_timeout</code></div></td><td>duration</td><td><code>0s</code></td><td>default value for the idle\_in\_session\_timeout; default value for the idle\_in\_session\_timeout session setting; controls the duration a session is permitted to idle before the session is terminated; if set to 0, there is no timeout<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-idle-in-transaction-session-timeout" class="anchored"><code>sql.<wbr />defaults.<wbr />idle\_in\_transaction\_session\_timeout</code></div></td><td>duration</td><td><code>0s</code></td><td>default value for the idle\_in\_transaction\_session\_timeout; controls the duration a session is permitted to idle in a transaction before the session is terminated; if set to 0, there is no timeout<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-implicit-select-for-update-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />implicit\_select\_for\_update.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for enable\_implicit\_select\_for\_update session setting; enables FOR UPDATE locking during the row-fetch phase of mutation statements<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-insert-fast-path-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />insert\_fast\_path.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for enable\_insert\_fast\_path session setting; enables a specialized insert path<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-intervalstyle" class="anchored"><code>sql.<wbr />defaults.<wbr />intervalstyle</code></div></td><td>enumeration</td><td><code>postgres</code></td><td>default value for IntervalStyle session setting \[postgres = 0, iso\_8601 = 1, sql\_standard = 2]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-large-full-scan-rows" class="anchored"><code>sql.<wbr />defaults.<wbr />large\_full\_scan\_rows</code></div></td><td>float</td><td><code>0</code></td><td>default value for large\_full\_scan\_rows session variable which determines the table size at which full scans are considered large and disallowed when disallow\_full\_table\_scans is set to true; set to 0 to reject all full table or full index scans when disallow\_full\_table\_scans is true<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-locality-optimized-partitioned-index-scan-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />locality\_optimized\_partitioned\_index\_scan.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for locality\_optimized\_partitioned\_index\_scan session setting; enables searching for rows in the current region before searching remote regions<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-lock-timeout" class="anchored"><code>sql.<wbr />defaults.<wbr />lock\_timeout</code></div></td><td>duration</td><td><code>0s</code></td><td>default value for the lock\_timeout; default value for the lock\_timeout session setting; controls the duration a query is permitted to wait while attempting to acquire a lock on a key or while blocking on an existing lock in order to perform a non-locking read on a key; if set to 0, there is no timeout<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-on-update-rehome-row-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />on\_update\_rehome\_row.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for on\_update\_rehome\_row; enables ON UPDATE rehome\_row() expressions to trigger on updates<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-optimizer-use-histograms-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />optimizer\_use\_histograms.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for optimizer\_use\_histograms session setting; enables usage of histograms in the optimizer by default<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-optimizer-use-multicol-stats-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />optimizer\_use\_multicol\_stats.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for optimizer\_use\_multicol\_stats session setting; enables usage of multi-column stats in the optimizer by default<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-override-alter-primary-region-in-super-region-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />override\_alter\_primary\_region\_in\_super\_region.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for override\_alter\_primary\_region\_in\_super\_region; allows for altering the primary region even if the primary region is a member of a super region<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-override-multi-region-zone-config-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />override\_multi\_region\_zone\_config.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for override\_multi\_region\_zone\_config; allows for overriding the zone configs of a multi-region table or database<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-prefer-lookup-joins-for-fks-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />prefer\_lookup\_joins\_for\_fks.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for prefer\_lookup\_joins\_for\_fks session setting; causes foreign key operations to use lookup joins when possible<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-primary-region" class="anchored"><code>sql.<wbr />defaults.<wbr />primary\_region</code></div></td><td>string</td><td><code /></td><td>if not empty, all databases created without a PRIMARY REGION will implicitly have the given PRIMARY REGION<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-reorder-joins-limit" class="anchored"><code>sql.<wbr />defaults.<wbr />reorder\_joins\_limit</code></div></td><td>integer</td><td><code>8</code></td><td>default number of joins to reorder<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-require-explicit-primary-keys-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />require\_explicit\_primary\_keys.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for requiring explicit primary keys in CREATE TABLE statements<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-results-buffer-size" class="anchored"><code>sql.<wbr />defaults.<wbr />results\_buffer.<wbr />size</code></div></td><td>byte size</td><td><code>512 KiB</code></td><td>default size of the buffer that accumulates results for a statement or a batch of statements before they are sent to the client. This can be overridden on an individual connection with the 'results\_buffer\_size' parameter. Note that auto-retries generally only happen while no results have been delivered to the client, so reducing this size can increase the number of retriable errors a client receives. On the other hand, increasing the buffer size can increase the delay until the client receives the first result row. Updating the setting only affects new connections. Setting to 0 disables any buffering.<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-serial-normalization" class="anchored"><code>sql.<wbr />defaults.<wbr />serial\_normalization</code></div></td><td>enumeration</td><td><code>rowid</code></td><td>default handling of SERIAL in table definitions \[rowid = 0, virtual\_sequence = 1, sql\_sequence = 2, sql\_sequence\_cached = 3, unordered\_rowid = 4, sql\_sequence\_cached\_node = 5]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-statement-timeout" class="anchored"><code>sql.<wbr />defaults.<wbr />statement\_timeout</code></div></td><td>duration</td><td><code>0s</code></td><td>default value for the statement\_timeout; default value for the statement\_timeout session setting; controls the duration a query is permitted to run before it is canceled; if set to 0, there is no timeout<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-stub-catalog-tables-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />stub\_catalog\_tables.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>default value for stub\_catalog\_tables session setting<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-transaction-rows-read-err" class="anchored"><code>sql.<wbr />defaults.<wbr />transaction\_rows\_read\_err</code></div></td><td>integer</td><td><code>0</code></td><td>the limit for the number of rows read by a SQL transaction which - once exceeded - will fail the transaction (or will trigger a logging event to SQL\_INTERNAL\_PERF for internal transactions); use 0 to disable<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-transaction-rows-read-log" class="anchored"><code>sql.<wbr />defaults.<wbr />transaction\_rows\_read\_log</code></div></td><td>integer</td><td><code>0</code></td><td>the threshold for the number of rows read by a SQL transaction which - once exceeded - will trigger a logging event to SQL\_PERF (or SQL\_INTERNAL\_PERF for internal transactions); use 0 to disable<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-transaction-rows-written-err" class="anchored"><code>sql.<wbr />defaults.<wbr />transaction\_rows\_written\_err</code></div></td><td>integer</td><td><code>0</code></td><td>the limit for the number of rows written by a SQL transaction which - once exceeded - will fail the transaction (or will trigger a logging event to SQL\_INTERNAL\_PERF for internal transactions); use 0 to disable<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-transaction-rows-written-log" class="anchored"><code>sql.<wbr />defaults.<wbr />transaction\_rows\_written\_log</code></div></td><td>integer</td><td><code>0</code></td><td>the threshold for the number of rows written by a SQL transaction which - once exceeded - will trigger a logging event to SQL\_PERF (or SQL\_INTERNAL\_PERF for internal transactions); use 0 to disable<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-use-declarative-schema-changer" class="anchored"><code>sql.<wbr />defaults.<wbr />use\_declarative\_schema\_changer</code></div></td><td>enumeration</td><td><code>on</code></td><td>default value for use\_declarative\_schema\_changer session setting;disables new schema changer by default \[off = 0, on = 1, unsafe = 2, unsafe\_always = 3]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-vectorize" class="anchored"><code>sql.<wbr />defaults.<wbr />vectorize</code></div></td><td>enumeration</td><td><code>on</code></td><td>default vectorize mode \[on = 0, on = 1, on = 2, experimental\_always = 3, off = 4]<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-defaults-zigzag-join-enabled" class="anchored"><code>sql.<wbr />defaults.<wbr />zigzag\_join.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>default value for enable\_zigzag\_join session setting; disallows use of zig-zag join by default<br />This cluster setting is being kept to preserve backwards-compatibility.<br />This session variable default should now be configured using <a href="alter-role"><code>ALTER ROLE... SET</code></a></td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-distsql-temp-storage-workmem" class="anchored"><code>sql.<wbr />distsql.<wbr />temp\_storage.<wbr />workmem</code></div></td><td>byte size</td><td><code>64 MiB</code></td><td>maximum amount of memory in bytes a processor can use before falling back to temp storage</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-guardrails-max-row-size-err" class="anchored"><code>sql.<wbr />guardrails.<wbr />max\_row\_size\_err</code></div></td><td>byte size</td><td><code>80 MiB</code></td><td>maximum size of row (or column family if multiple column families are in use) that SQL can write to the database, above which an error is returned; use 0 to disable</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-guardrails-max-row-size-log" class="anchored"><code>sql.<wbr />guardrails.<wbr />max\_row\_size\_log</code></div></td><td>byte size</td><td><code>16 MiB</code></td><td>maximum size of row (or column family if multiple column families are in use) that SQL can write to the database, above which an event is logged to SQL\_PERF (or SQL\_INTERNAL\_PERF if the mutating statement was internal); use 0 to disable</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-hash-sharded-range-pre-split-max" class="anchored"><code>sql.<wbr />hash\_sharded\_range\_pre\_split.<wbr />max</code></div></td><td>integer</td><td><code>16</code></td><td>max pre-split ranges to have when adding hash sharded index to an existing table</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-index-recommendation-drop-unused-duration" class="anchored"><code>sql.<wbr />index\_recommendation.<wbr />drop\_unused\_duration</code></div></td><td>duration</td><td><code>168h0m0s</code></td><td>the index unused duration at which we begin to recommend dropping the index</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-insights-anomaly-detection-enabled" class="anchored"><code>sql.<wbr />insights.<wbr />anomaly\_detection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enable per-fingerprint latency recording and anomaly detection</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-insights-anomaly-detection-latency-threshold" class="anchored"><code>sql.<wbr />insights.<wbr />anomaly\_detection.<wbr />latency\_threshold</code></div></td><td>duration</td><td><code>50ms</code></td><td>statements must surpass this threshold to trigger anomaly detection and identification</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-insights-anomaly-detection-memory-limit" class="anchored"><code>sql.<wbr />insights.<wbr />anomaly\_detection.<wbr />memory\_limit</code></div></td><td>byte size</td><td><code>1.0 MiB</code></td><td>the maximum amount of memory allowed for tracking statement latencies</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-insights-execution-insights-capacity" class="anchored"><code>sql.<wbr />insights.<wbr />execution\_insights\_capacity</code></div></td><td>integer</td><td><code>1000</code></td><td>the size of the per-node store of execution insights</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-insights-high-retry-count-threshold" class="anchored"><code>sql.<wbr />insights.<wbr />high\_retry\_count.<wbr />threshold</code></div></td><td>integer</td><td><code>10</code></td><td>the number of retries a slow statement must have undergone for its high retry count to be highlighted as a potential problem</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-insights-latency-threshold" class="anchored"><code>sql.<wbr />insights.<wbr />latency\_threshold</code></div></td><td>duration</td><td><code>100ms</code></td><td>amount of time after which an executing statement is considered slow. Use 0 to disable.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-redact-names-enabled" class="anchored"><code>sql.<wbr />log.<wbr />redact\_names.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, schema object identifers are redacted in SQL statements that appear in event logs</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-scan-row-count-misestimate-enabled" class="anchored"><code>sql.<wbr />log.<wbr />scan\_row\_count\_misestimate.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when set to true, log a warning when a scan's actual row count differs significantly from the optimizer's estimate</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-slow-query-experimental-full-table-scans-enabled" class="anchored"><code>sql.<wbr />log.<wbr />slow\_query.<wbr />experimental\_full\_table\_scans.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when set to true, statements that perform a full table/index scan will be logged to the slow query log even if they do not meet the latency threshold. Must have the slow query log enabled for this setting to have any effect.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-slow-query-internal-queries-enabled" class="anchored"><code>sql.<wbr />log.<wbr />slow\_query.<wbr />internal\_queries.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when set to true, internal queries which exceed the slow query log threshold are logged to a separate log. Must have the slow query log enabled for this setting to have any effect.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-slow-query-latency-threshold" class="anchored"><code>sql.<wbr />log.<wbr />slow\_query.<wbr />latency\_threshold</code></div></td><td>duration</td><td><code>0s</code></td><td>when set to non-zero, log statements whose service latency exceeds the threshold to a secondary logger on each node</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-user-audit" class="anchored"><code>sql.<wbr />log.<wbr />user\_audit</code></div></td><td>string</td><td><code /></td><td>user/role-based audit logging configuration</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-log-user-audit-reduced-config-enabled" class="anchored"><code>sql.<wbr />log.<wbr />user\_audit.<wbr />reduced\_config.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables logic to compute a reduced audit configuration, computing the audit configuration only once at session start instead of at each SQL event. The tradeoff with the increase in performance (\~5%), is that changes to the audit configuration (user role memberships/cluster setting) are not reflected within session. Users will need to start a new session to see these changes in their auditing behaviour.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-application-name-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />application\_name.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when enabled, SQL metrics would export application name as and additional label as part of child metrics. The number of unique label combinations is limited to 5000 by default.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-database-name-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />database\_name.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when enabled, SQL metrics would export database name as and additional label as part of child metrics. The number of unique label combinations is limited to 5000 by default.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-index-usage-stats-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />index\_usage\_stats.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>collect per index usage statistics</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-max-mem-reported-stmt-fingerprints" class="anchored"><code>sql.<wbr />metrics.<wbr />max\_mem\_reported\_stmt\_fingerprints</code></div></td><td>integer</td><td><code>100000</code></td><td>the maximum number of reported statement fingerprints stored in memory</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-max-mem-reported-txn-fingerprints" class="anchored"><code>sql.<wbr />metrics.<wbr />max\_mem\_reported\_txn\_fingerprints</code></div></td><td>integer</td><td><code>100000</code></td><td>the maximum number of reported transaction fingerprints stored in memory</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-max-mem-stmt-fingerprints" class="anchored"><code>sql.<wbr />metrics.<wbr />max\_mem\_stmt\_fingerprints</code></div></td><td>integer</td><td><code>7500</code></td><td>the maximum number of statement fingerprints stored in memory</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-max-mem-txn-fingerprints" class="anchored"><code>sql.<wbr />metrics.<wbr />max\_mem\_txn\_fingerprints</code></div></td><td>integer</td><td><code>7500</code></td><td>the maximum number of transaction fingerprints stored in memory</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-statement-details-dump-to-logs" class="anchored"><code>sql.metrics.statement\_details.dump\_to\_logs.enabled<br />(alias: sql.metrics.statement\_details.dump\_to\_logs)</code></div></td><td>boolean</td><td><code>false</code></td><td>dump collected statement statistics to node logs when periodically cleared</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-statement-details-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />statement\_details.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>collect per-statement query statistics</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-statement-details-gateway-node-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />statement\_details.<wbr />gateway\_node.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>save the gateway node for each statement fingerprint. If false, the value will be stored as 0.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-statement-details-index-recommendation-collection-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />statement\_details.<wbr />index\_recommendation\_collection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>generate an index recommendation for each fingerprint ID</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-statement-details-max-mem-reported-idx-recommendations" class="anchored"><code>sql.<wbr />metrics.<wbr />statement\_details.<wbr />max\_mem\_reported\_idx\_recommendations</code></div></td><td>integer</td><td><code>5000</code></td><td>the maximum number of reported index recommendation info stored in memory</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-statement-details-threshold" class="anchored"><code>sql.<wbr />metrics.<wbr />statement\_details.<wbr />threshold</code></div></td><td>duration</td><td><code>0s</code></td><td>minimum execution time to cause statement statistics to be collected. If configured, no transaction stats are collected.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-metrics-transaction-details-enabled" class="anchored"><code>sql.<wbr />metrics.<wbr />transaction\_details.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>collect per-application transaction statistics</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-multiple-modifications-of-table-enabled" class="anchored"><code>sql.<wbr />multiple\_modifications\_of\_table.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, allow statements containing multiple INSERT ON CONFLICT, UPSERT, UPDATE, or DELETE subqueries modifying the same table, at the risk of data corruption if the same row is modified multiple times by a single statement (multiple INSERT subqueries without ON CONFLICT cannot cause corruption and are always allowed)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-multiregion-drop-primary-region-enabled" class="anchored"><code>sql.<wbr />multiregion.<wbr />drop\_primary\_region.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>allows dropping the PRIMARY REGION of a database if it is the last region</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-notices-enabled" class="anchored"><code>sql.<wbr />notices.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enable notices in the server/client protocol being sent</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-optimizer-uniqueness-checks-for-gen-random-uuid-enabled" class="anchored"><code>sql.<wbr />optimizer.<wbr />uniqueness\_checks\_for\_gen\_random\_uuid.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if enabled, uniqueness checks may be planned for mutations of UUID columns updated with gen\_random\_uuid(); otherwise, uniqueness is assumed due to near-zero collision probability</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-schema-approx-max-object-count" class="anchored"><code>sql.<wbr />schema.<wbr />approx\_max\_object\_count</code></div></td><td>integer</td><td><code>20000</code></td><td>approximate maximum number of schema objects allowed in the cluster; the check uses cached statistics, so the actual count may slightly exceed this limit; set to 0 to disable</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-schema-auto-unlock-enabled" class="anchored"><code>sql.<wbr />schema.<wbr />auto\_unlock.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>controls whether DDL operations will attempt to automatically unlock and re-lock schema\_locked tables. When this setting is false, DDL on schema\_locked tables is blocked unless the user manually unlocks the table first. The schema\_locked storage parameter improves changefeed performance by locking the table's schema from the perspective of the changefeed.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-schema-telemetry-recurrence" class="anchored"><code>sql.<wbr />schema.<wbr />telemetry.<wbr />recurrence</code></div></td><td>string</td><td><code>@weekly</code></td><td>cron-tab recurrence for SQL schema telemetry job</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-sql-spatial-experimental-box2d-comparison-operators-enabled" class="anchored"><code>sql.<wbr />spatial.<wbr />experimental\_box2d\_comparison\_operators.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables the use of certain experimental box2d comparison operators</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-sqlcommenter-enabled" class="anchored"><code>sql.<wbr />sqlcommenter.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables support for sqlcommenter. Key value parsed from sqlcommenter comments will be included in sql insights and sql logs. See [https://google.github.io/sqlcommenter/](https://google.github.io/sqlcommenter/) for more details.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-activity-persisted-rows-max" class="anchored"><code>sql.<wbr />stats.<wbr />activity.<wbr />persisted\_rows.<wbr />max</code></div></td><td>integer</td><td><code>200000</code></td><td>maximum number of rows of statement and transaction activity that will be persisted in the system tables</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-collection-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_collection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>automatic statistics collection mode</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-collection-fraction-stale-rows" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_collection.<wbr />fraction\_stale\_rows</code></div></td><td>float</td><td><code>0.2</code></td><td>target fraction of stale rows per table that will trigger a statistics refresh</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-collection-min-stale-rows" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_collection.<wbr />min\_stale\_rows</code></div></td><td>integer</td><td><code>500</code></td><td>target minimum number of stale rows per table that will trigger a statistics refresh</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-extremes-concurrency-limit" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_extremes\_concurrency\_limit</code></div></td><td>integer</td><td><code>128</code></td><td>determines the maximum number of concurrent automatic partial USING EXTREMES table statistics collection jobs</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-full-collection-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_full\_collection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>automatic full statistics collection mode</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-full-concurrency-limit" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_full\_concurrency\_limit</code></div></td><td>integer</td><td><code>See description.</code></td><td>determines the maximum number of concurrent automatic full table statistics collection jobs. The default value is computed as the number of vCPUs in a node divided by 2.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-partial-collection-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_partial\_collection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>automatic partial statistics collection mode</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-partial-collection-fraction-stale-rows" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_partial\_collection.<wbr />fraction\_stale\_rows</code></div></td><td>float</td><td><code>0.05</code></td><td>target fraction of stale rows per table that will trigger a partial statistics refresh</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-automatic-partial-collection-min-stale-rows" class="anchored"><code>sql.<wbr />stats.<wbr />automatic\_partial\_collection.<wbr />min\_stale\_rows</code></div></td><td>integer</td><td><code>100</code></td><td>target minimum number of stale rows per table that will trigger a partial statistics refresh</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-canary-fraction" class="anchored"><code>sql.<wbr />stats.<wbr />canary\_fraction</code></div></td><td>float</td><td><code>0</code></td><td>probability that table statistics will use canary mode instead of stable mode for query planning \[0.0-1.0]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-cleanup-recurrence" class="anchored"><code>sql.<wbr />stats.<wbr />cleanup.<wbr />recurrence</code></div></td><td>string</td><td><code>@hourly</code></td><td>cron-tab recurrence for SQL Stats cleanup job</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-detailed-latency-metrics-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />detailed\_latency\_metrics.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>label latency metrics with the statement fingerprint. Workloads with tens of thousands of distinct query fingerprints should leave this setting false. (experimental, affects performance for workloads with high fingerprint cardinality)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-error-on-concurrent-create-stats-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />error\_on\_concurrent\_create\_stats.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>set to true to error on concurrent CREATE STATISTICS jobs, instead of skipping them</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-flush-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />flush.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if set, SQL execution statistics are periodically flushed to disk</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-flush-interval" class="anchored"><code>sql.<wbr />stats.<wbr />flush.<wbr />interval</code></div></td><td>duration</td><td><code>10m0s</code></td><td>the interval at which SQL execution statistics are flushed to disk, this value must be less than or equal to 1 hour</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-forecasts-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />forecasts.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, enables generation of statistics forecasts by default for all tables</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-forecasts-max-decrease" class="anchored"><code>sql.<wbr />stats.<wbr />forecasts.<wbr />max\_decrease</code></div></td><td>float</td><td><code>0.3333333333333333</code></td><td>the most a prediction is allowed to decrease, expressed as the minimum ratio of the prediction to the lowest prior observation</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-forecasts-min-goodness-of-fit" class="anchored"><code>sql.<wbr />stats.<wbr />forecasts.<wbr />min\_goodness\_of\_fit</code></div></td><td>float</td><td><code>0.95</code></td><td>the minimum R² (goodness of fit) measurement required from all predictive models to use a forecast</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-forecasts-min-observations" class="anchored"><code>sql.<wbr />stats.<wbr />forecasts.<wbr />min\_observations</code></div></td><td>integer</td><td><code>3</code></td><td>the mimimum number of observed statistics required to produce a statistics forecast</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-histogram-buckets-count" class="anchored"><code>sql.<wbr />stats.<wbr />histogram\_buckets.<wbr />count</code></div></td><td>integer</td><td><code>200</code></td><td>maximum number of histogram buckets to build during table statistics collection</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-histogram-buckets-include-most-common-values-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />histogram\_buckets.<wbr />include\_most\_common\_values.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>whether to include most common values as histogram buckets</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-histogram-buckets-max-fraction-most-common-values" class="anchored"><code>sql.<wbr />stats.<wbr />histogram\_buckets.<wbr />max\_fraction\_most\_common\_values</code></div></td><td>float</td><td><code>0.1</code></td><td>maximum fraction of histogram buckets to use for most common values</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-histogram-collection-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />histogram\_collection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>histogram collection mode</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-histogram-samples-count" class="anchored"><code>sql.<wbr />stats.<wbr />histogram\_samples.<wbr />count</code></div></td><td>integer</td><td><code>0</code></td><td>number of rows sampled for histogram construction during table statistics collection. Not setting this or setting a value of 0 means that a reasonable sample size will be automatically picked based on the table size.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-multi-column-collection-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />multi\_column\_collection.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>multi-column statistics collection mode</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-non-default-columns-min-retention-period" class="anchored"><code>sql.<wbr />stats.<wbr />non\_default\_columns.<wbr />min\_retention\_period</code></div></td><td>duration</td><td><code>24h0m0s</code></td><td>minimum retention period for table statistics collected on non-default columns</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-non-indexed-json-histograms-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />non\_indexed\_json\_histograms.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>set to true to collect table statistics histograms on non-indexed JSON columns</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-persisted-rows-max" class="anchored"><code>sql.<wbr />stats.<wbr />persisted\_rows.<wbr />max</code></div></td><td>integer</td><td><code>1000000</code></td><td>maximum number of rows of statement and transaction statistics that will be persisted in the system tables before compaction begins</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-post-events-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />post\_events.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, an event is logged for every successful CREATE STATISTICS job</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-response-max" class="anchored"><code>sql.<wbr />stats.<wbr />response.<wbr />max</code></div></td><td>integer</td><td><code>20000</code></td><td>the maximum number of statements and transaction stats returned in a CombinedStatements request</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-response-show-internal-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />response.<wbr />show\_internal.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>controls if statistics for internal executions should be returned by the CombinedStatements and if internal sessions should be returned by the ListSessions endpoints. These endpoints are used to display statistics on the SQL Activity pages</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-system-tables-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />system\_tables.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, enables use of statistics on system tables by the query optimizer</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-system-tables-autostats-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />system\_tables\_autostats.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>when true, enables automatic collection of statistics on system tables</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-table-statistics-cache-capacity" class="anchored"><code>sql.<wbr />stats.<wbr />table\_statistics\_cache.<wbr />capacity</code></div></td><td>integer</td><td><code>256</code></td><td>the maximum number of table statistics entries stored in the LRU cache. Each cache entry corresponds to a single table.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-stats-virtual-computed-columns-enabled" class="anchored"><code>sql.<wbr />stats.<wbr />virtual\_computed\_columns.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to collect table statistics on virtual computed columns</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-telemetry-query-sampling-enabled" class="anchored"><code>sql.<wbr />telemetry.<wbr />query\_sampling.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when set to true, executed queries will emit an event on the telemetry logging channel</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-telemetry-query-sampling-internal-enabled" class="anchored"><code>sql.<wbr />telemetry.<wbr />query\_sampling.<wbr />internal.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>when set to true, internal queries will be sampled in telemetry logging</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-telemetry-query-sampling-max-event-frequency" class="anchored"><code>sql.<wbr />telemetry.<wbr />query\_sampling.<wbr />max\_event\_frequency</code></div></td><td>integer</td><td><code>8</code></td><td>the max event frequency (events per second) at which we sample executions for telemetry, note that it is recommended that this value shares a log-line limit of 10 logs per second on the telemetry pipeline with all other telemetry events. If sampling mode is set to 'transaction', this value is ignored.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-telemetry-query-sampling-mode" class="anchored"><code>sql.<wbr />telemetry.<wbr />query\_sampling.<wbr />mode</code></div></td><td>enumeration</td><td><code>statement</code></td><td>the execution level used for telemetry sampling. If set to 'statement', events are sampled at the statement execution level. If set to 'transaction', events are sampled at the transaction execution level, i.e. all statements for a transaction will be logged and are counted together as one sampled event (events are still emitted one per statement). \[statement = 0, transaction = 1]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-telemetry-transaction-sampling-max-event-frequency" class="anchored"><code>sql.<wbr />telemetry.<wbr />transaction\_sampling.<wbr />max\_event\_frequency</code></div></td><td>integer</td><td><code>8</code></td><td>the max event frequency (events per second) at which we sample transactions for telemetry. If sampling mode is set to 'statement', this setting is ignored. In practice, this means that we only sample a transaction if 1/max\_event\_frequency seconds have elapsed since the last transaction was sampled.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-telemetry-transaction-sampling-statement-events-per-transaction-max" class="anchored"><code>sql.<wbr />telemetry.<wbr />transaction\_sampling.<wbr />statement\_events\_per\_transaction.<wbr />max</code></div></td><td>integer</td><td><code>50</code></td><td>the maximum number of statement events to log for every sampled transaction. Note that statements that are logged by force do not adhere to this limit.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-temp-object-cleaner-cleanup-interval" class="anchored"><code>sql.<wbr />temp\_object\_cleaner.<wbr />cleanup\_interval</code></div></td><td>duration</td><td><code>30m0s</code></td><td>how often to clean up orphaned temporary objects</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-temp-object-cleaner-wait-interval" class="anchored"><code>sql.<wbr />temp\_object\_cleaner.<wbr />wait\_interval</code></div></td><td>duration</td><td><code>30m0s</code></td><td>how long after creation a temporary object will be cleaned up</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-trace-log-statement-execute" class="anchored"><code>sql.log.all\_statements.enabled<br />(alias: sql.trace.log\_statement\_execute)</code></div></td><td>boolean</td><td><code>false</code></td><td>set to true to enable logging of all executed statements</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-trace-stmt-enable-threshold" class="anchored"><code>sql.<wbr />trace.<wbr />stmt.<wbr />enable\_threshold</code></div></td><td>duration</td><td><code>0s</code></td><td>enables tracing on all statements; statements executing for longer than this duration will have their trace logged (set to 0 to disable); note that enabling this may have a negative performance impact; this setting applies to individual statements within a transaction and is therefore finer-grained than sql.trace.txn.enable\_threshold</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-trace-txn-enable-threshold" class="anchored"><code>sql.<wbr />trace.<wbr />txn.<wbr />enable\_threshold</code></div></td><td>duration</td><td><code>0s</code></td><td>enables transaction traces for transactions exceeding this duration, used with `sql.trace.txn.sample_rate`</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-trace-txn-include-internal-enabled" class="anchored"><code>sql.<wbr />trace.<wbr />txn.<wbr />include\_internal.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>enables tracing internal transactions as well as external workload using sample rate and threshold settings</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-trace-txn-jaeger-json-output-enabled" class="anchored"><code>sql.<wbr />trace.<wbr />txn.<wbr />jaeger\_json\_output.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>enables Jaeger JSON output for transaction traces in logs</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-trace-txn-sample-rate" class="anchored"><code>sql.<wbr />trace.<wbr />txn.<wbr />sample\_rate</code></div></td><td>float</td><td><code>1</code></td><td>enables probabilistic transaction tracing. It should be used in conjunction with `sql.trace.txn.enable_threshold`. A percentage of transactions between 0 and 1.0 will have tracing enabled, and only those which exceed the configured threshold will be logged.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-ttl-changefeed-replication-disabled" class="anchored"><code>sql.<wbr />ttl.<wbr />changefeed\_replication.<wbr />disabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if true, deletes issued by TTL will not be replicated via changefeeds (this setting will be ignored by changefeeds that have the ignore\_disable\_changefeed\_replication option set; such changefeeds will continue to replicate all TTL deletes)</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-ttl-default-delete-batch-size" class="anchored"><code>sql.<wbr />ttl.<wbr />default\_delete\_batch\_size</code></div></td><td>integer</td><td><code>100</code></td><td>default amount of rows to delete in a single query during a TTL job</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-ttl-default-delete-rate-limit" class="anchored"><code>sql.<wbr />ttl.<wbr />default\_delete\_rate\_limit</code></div></td><td>integer</td><td><code>100</code></td><td>default delete rate limit (rows per second) per node for each TTL job. Use 0 to signify no rate limit.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-ttl-default-select-batch-size" class="anchored"><code>sql.<wbr />ttl.<wbr />default\_select\_batch\_size</code></div></td><td>integer</td><td><code>500</code></td><td>default amount of rows to select in a single query during a TTL job</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-ttl-default-select-rate-limit" class="anchored"><code>sql.<wbr />ttl.<wbr />default\_select\_rate\_limit</code></div></td><td>integer</td><td><code>0</code></td><td>default select rate limit (rows per second) per node for each TTL job. Use 0 to signify no rate limit.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-ttl-job-enabled" class="anchored"><code>sql.<wbr />ttl.<wbr />job.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>whether the TTL job is enabled</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-txn-read-committed-isolation-enabled" class="anchored"><code>sql.<wbr />txn.<wbr />read\_committed\_isolation.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to allow transactions to use the READ COMMITTED isolation level if specified by BEGIN/SET commands</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-txn-snapshot-isolation-enabled" class="anchored"><code>sql.txn.repeatable\_read\_isolation.enabled<br />(alias: sql.txn.snapshot\_isolation.enabled)</code></div></td><td>boolean</td><td><code>false</code></td><td>set to true to allow transactions to use the REPEATABLE READ isolation level if specified by BEGIN/SET commands</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-txn-fingerprint-id-cache-capacity" class="anchored"><code>sql.<wbr />txn\_fingerprint\_id\_cache.<wbr />capacity</code></div></td><td>integer</td><td><code>100</code></td><td>the maximum number of txn fingerprint IDs stored</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-sql-vecindex-stalled-op-timeout" class="anchored"><code>sql.<wbr />vecindex.<wbr />stalled\_op.<wbr />timeout</code></div></td><td>duration</td><td><code>100ms</code></td><td>amount of time before other vector index workers will assist with a stalled background fixup</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-storage-delete-compaction-excise-enabled" class="anchored"><code>storage.<wbr />delete\_compaction\_excise.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to false to direct Pebble to not partially excise sstables in delete-only compactions</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-storage-ingest-split-enabled" class="anchored"><code>storage.<wbr />ingest\_split.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to false to disable ingest-time splitting that lowers write-amplification</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-storage-ingestion-value-blocks-enabled" class="anchored"><code>storage.<wbr />ingestion.<wbr />value\_blocks.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to true to enable writing of value blocks in ingestion sstables</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-storage-max-sync-duration" class="anchored"><code>storage.<wbr />max\_sync\_duration</code></div></td><td>duration</td><td><code>20s</code></td><td>maximum duration for disk operations; any operations that take longer than this setting trigger a warning log entry or process crash</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-storage-max-sync-duration-fatal-enabled" class="anchored"><code>storage.<wbr />max\_sync\_duration.<wbr />fatal.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if true, fatal the process when a disk operation exceeds storage.max\_sync\_duration</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-storage-sstable-compression-algorithm" class="anchored"><code>storage.<wbr />sstable.<wbr />compression\_algorithm</code></div></td><td>enumeration</td><td><code>fastest</code></td><td>determines the compression algorithm to use for Pebble stores \[snappy = 1, zstd = 2, none = 3, minlz = 4, fastest = 5, balanced = 6, good = 7, fast = 8]</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-storage-sstable-compression-algorithm-backup-storage" class="anchored"><code>storage.<wbr />sstable.<wbr />compression\_algorithm\_backup\_storage</code></div></td><td>enumeration</td><td><code>fastest</code></td><td>determines the compression algorithm to use when compressing sstable data blocks for backup row data storage (fast,balanced,good are experimental); \[snappy = 1, zstd = 2, none = 3, minlz = 4, fastest = 5, fast = 6, balanced = 7, good = 8]</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-storage-sstable-compression-algorithm-backup-transport" class="anchored"><code>storage.<wbr />sstable.<wbr />compression\_algorithm\_backup\_transport</code></div></td><td>enumeration</td><td><code>fastest</code></td><td>determines the compression algorithm to use when compressing sstable data blocks for backup transport (fast,balanced,good are experimental); \[snappy = 1, zstd = 2, none = 3, minlz = 4, fastest = 5, fast = 6, balanced = 7, good = 8]</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-storage-unhealthy-write-duration" class="anchored"><code>storage.<wbr />unhealthy\_write\_duration</code></div></td><td>duration</td><td><code>20s</code></td><td>duration for disk write operations, beyond which the disk will be reported as unhealthy for higher layer actions</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-storage-wal-failover-unhealthy-op-threshold" class="anchored"><code>storage.<wbr />wal\_failover.<wbr />unhealthy\_op\_threshold</code></div></td><td>duration</td><td><code>100ms</code></td><td>the latency of a WAL write considered unhealthy and triggers a failover to a secondary WAL location</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-timeseries-storage-enabled" class="anchored"><code>timeseries.<wbr />storage.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if set, periodic timeseries data is stored within the cluster; disabling is not recommended unless you are storing the data elsewhere</td><td>Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-timeseries-storage-resolution-10s-ttl" class="anchored"><code>timeseries.<wbr />storage.<wbr />resolution\_10s.<wbr />ttl</code></div></td><td>duration</td><td><code>240h0m0s</code></td><td>the maximum age of time series data stored at the 10 second resolution. Data older than this is subject to rollup and deletion.</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-timeseries-storage-resolution-1m-ttl" class="anchored"><code>timeseries.<wbr />storage.<wbr />resolution\_1m.<wbr />ttl</code></div></td><td>duration</td><td><code>240h0m0s</code></td><td>the maximum age of time series data stored at the 1 minute resolution. Data older than this is subject to rollup and deletion.</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-timeseries-storage-resolution-30m-ttl" class="anchored"><code>timeseries.<wbr />storage.<wbr />resolution\_30m.<wbr />ttl</code></div></td><td>duration</td><td><code>2160h0m0s</code></td><td>the maximum age of time series data stored at the 30 minute resolution. Data older than this is subject to deletion.</td><td>Advanced/Self-hosted (read-write); Basic/Standard (read-only)</td></tr>
    <tr><td><div id="setting-trace-debug-enable" class="anchored"><code>trace.debug\_http\_endpoint.enabled<br />(alias: trace.debug.enable)</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, traces for recent requests can be seen at https\://\<ui>/debug/requests</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-trace-opentelemetry-collector" class="anchored"><code>trace.<wbr />opentelemetry.<wbr />collector</code></div></td><td>string</td><td><code /></td><td>address of an OpenTelemetry trace collector to receive traces using the otel gRPC protocol, as \<host>:\<port>. If no port is specified, 4317 will be used.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-trace-snapshot-rate" class="anchored"><code>trace.<wbr />snapshot.<wbr />rate</code></div></td><td>duration</td><td><code>0s</code></td><td>if non-zero, interval at which background trace snapshots are captured</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-trace-span-registry-enabled" class="anchored"><code>trace.<wbr />span\_registry.<wbr />enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if set, ongoing traces can be seen at https\://\<ui>/#/debug/tracez</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-trace-zipkin-collector" class="anchored"><code>trace.<wbr />zipkin.<wbr />collector</code></div></td><td>string</td><td><code /></td><td>the address of a Zipkin instance to receive traces, as \<host>:\<port>. If no port is specified, 9411 will be used.</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-ui-database-locality-metadata-enabled" class="anchored"><code>ui.<wbr />database\_locality\_metadata.<wbr />enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>if enabled shows extended locality data about databases and tables in DB Console which can be expensive to compute</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-ui-default-timezone" class="anchored"><code>ui.<wbr />default\_timezone</code></div></td><td>string</td><td><code /></td><td>the default timezone used to format timestamps in the ui</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-ui-display-timezone" class="anchored"><code>ui.<wbr />display\_timezone</code></div></td><td>enumeration</td><td><code>etc/<wbr />utc</code></td><td>the timezone used to format timestamps in the ui. This setting is deprecatedand will be removed in a future version. Use the 'ui.default\_timezone' setting instead. 'ui.default\_timezone' takes precedence over this setting. \[etc/utc = 0, america/new\_york = 1]</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
    <tr><td><div id="setting-version" class="anchored"><code>version</code></div></td><td>version</td><td><code>26.2</code></td><td>set the active cluster version in the format '\<major>.\<minor>'</td><td>Basic/<wbr />Standard/<wbr />Advanced/<wbr />Self-Hosted</td></tr>
  </tbody>
</table>

## View current cluster settings

Use the <InternalLink path="show-cluster-setting">`SHOW CLUSTER SETTING`</InternalLink> statement.

## Change a cluster setting

Cluster settings can be updated via SQL command while the cluster is running. Use the <InternalLink path="set-cluster-setting">`SET CLUSTER SETTING`</InternalLink> statement.

Before changing a cluster setting, note the following:

* Changing a cluster setting is not instantaneous, as the change must be propagated to other nodes in the cluster.

* Do not change cluster settings while <InternalLink path="upgrade-cockroach-version">upgrading to a new version of CockroachDB</InternalLink>. Wait until all nodes have been upgraded before you make the change.

## Sensitive settings

You can prevent users without sufficient permissions from viewing the values of cluster settings that CockroachDB classifies as sensitive.

By default, users with the `VIEWCLUSTERSETTING` privilege can view the values of all settings displayed when using the <InternalLink path="show-cluster-setting">`SHOW CLUSTER SETTING`</InternalLink> statement and the <InternalLink path="ui-debug-pages">DB Console Advanced Debug > Cluster Settings page</InternalLink>.

If you enable the option to redact sensitive settings, the sensitive setting values are hidden from those users, and visible only to users with the `admin` role or the `MODIFYCLUSTERSETTING` privilege.

To enable this redaction of sensitive setting values, set the cluster setting <InternalLink path="cluster-settings">`server.redact_sensitive_settings.enabled`</InternalLink> to `true`:

```sql theme={"theme":{"light":"catppuccin-mocha","dark":"catppuccin-mocha"}}
SET CLUSTER SETTING server.redact_sensitive_settings.enabled = 'true';
```

The table summarizes when sensitive setting values are visible or redacted:

| User attribute                                                                                                                | Redaction disabled | Redaction enabled |
| ----------------------------------------------------------------------------------------------------------------------------- | :----------------: | :---------------: |
| `admin` role                                                                                                                  |       visible      |      visible      |
| `MODIFYCLUSTERSETTING` <InternalLink path="security-reference/authorization#privileges">system-level privilege</InternalLink> |       visible      |      visible      |
| `VIEWCLUSTERSETTING` <InternalLink path="security-reference/authorization#privileges">system-level privilege</InternalLink>   |       visible      |    **redacted**   |
| None of the above attributes                                                                                                  |     not visible    |    not visible    |

The following are sensitive settings whose values are redacted:

* <InternalLink path="cluster-settings">`server.host_based_authentication.configuration`</InternalLink>
* <InternalLink path="cluster-settings">`server.identity_map.configuration`</InternalLink>
* <InternalLink path="cluster-settings">`server.jwt_authentication.issuers.custom_ca`</InternalLink>
* <InternalLink path="cluster-settings">`server.ldap_authentication.domain.custom_ca`</InternalLink>
* <InternalLink path="cluster-settings">`server.ldap_authentication.client.tls_certificate`</InternalLink>
* <InternalLink path="cluster-settings">`server.ldap_authentication.client.tls_key`</InternalLink>
* <InternalLink path="cluster-settings">`server.oidc_authentication.client_id`</InternalLink>
* <InternalLink path="cluster-settings">`server.oidc_authentication.client_secret`</InternalLink>

## See also

* <InternalLink path="set-cluster-setting">`SET CLUSTER SETTING`</InternalLink>
* <InternalLink path="show-cluster-setting">`SHOW CLUSTER SETTING`</InternalLink>
* <InternalLink path="diagnostics-reporting">Diagnostics Reporting</InternalLink>
* <InternalLink path="cockroach-start">Start a Node</InternalLink>
* <InternalLink path="cockroach-sql">Use the Built-in SQL Client</InternalLink>
