# Global Variables

> **⚠️ Warning**: You can set a sync variable on the Master Aggregator only. You will receive an error if you attempt to set a sync variable on any other type of SingleStore node.You should not set a sync variable by editing the `memsql.cnf` file. Attempting to do so may result in an error, or the setting may have no effect. Instead, set sync variables using methods described here.

For advanced users, a `globalVariables` section can also be declared. This is an optional section that allows values to be specified for SingleStore engine variables.

```yaml
...
globalVariables:
  snapshots_to_keep: "6"
  transaction_buffer: "8m"
  default_partitions_per_leaf: "4"
```

Refer to [Engine Variables](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables.md) and [List of Engine Variables](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/list-of-engine-variables.md) documentation for more information about engine variables, global variables, and when to use them.

As of Operator 1.2.1, nearly all engine variables are supported except for:

* `bottomless_storage_location`
* `cloud_permissions`
* `cluster_name`
* `enable_bottomless`
* `enable_sites`
* `expected_leaf_core_count`
* `redundancy_level`
* `sync_permissions`

Note that some engine variables can be set prior to deploying a new cluster, but cannot be set once the cluster is running.&#x20;

* `SYNC` variables may be set at launch of a new cluster. Once the cluster is online and running, these variables must then be set through a database connection.
* `NON-SYNC` variables may be set in the `globalVariables` section of the `MemsqlCluster` spec.

Refer to the [List of Engine Variables](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/list-of-engine-variables.md) for more information.

> **📝 Note**: If it is not overridden in the `globalVariables` section, the Operator will set `default_partitions_per_leaf` to a value equal to the `height` multiplied by the vCPU cores per unit.

Both `aggregatorSpec` and `leafSpec`-specific `globalVariables` sections may be declared. The optional `spec.aggregatorSpec` and `spec.leafSpec` sections in the `sdb-cluster.yaml` file allow non-sync variables for aggregators and leaf nodes to be specified separately.

```yaml
aggregatorSpec:
  ...
  globalVariables:
    snapshots_to_keep: "4"

...
leafSpec:
  ...
  globalVariables:
    snapshots_to_keep: "5"

```

Once the sync and non-sync variables are set via `spec.globalVarialbes`, they are applied across the entire cluster.

* All variables set via `spec.aggregatorSpec.globalVariables` are applied to all pods in Master Aggregator and child aggregators.
* All variables set via `spec.leafSpec.globalVariables` are applied to all pods in leaf nodes.

Include only non-sync variables in `spec.aggregatorSpec.globalVariables` and `spec.leafSpec.globalVariables`.

Non-sync variables defined in `spec.aggregatorSpec.globalVariables` and `spec.leafSpec.globalVariables` override the same variables defined in `spec.globalVariables`.

***

Modified at: August 6, 2025

Source: [/db/v9.1/reference/singlestore-operator-reference/global-variables/](https://docs.singlestore.com/db/v9.1/reference/singlestore-operator-reference/global-variables/)

(An index of the documentation is available at /llms.txt)
