Runtime configurationΒΆ
The CrateDB cluster can be configured at runtime using the SET and RESET statement. See the Cluster Settings configuration section for details about the supported settings.
If SET is used with PERSISTENT
the change will survive a
cluster restart, if used with TRANSIENT
the value will reset to
the default value or to the value in the configuration file on a restart.
cr> SET GLOBAL PERSISTENT stats.enabled = false;
SET OK, 1 row affected (... sec)
cr> select sys.cluster.settings['stats']['enabled'] from sys.cluster;
+------------------------------+
| settings['stats']['enabled'] |
+------------------------------+
| FALSE |
+------------------------------+
SELECT 1 row in set (... sec)
You can change multiple values at once:
cr> SET GLOBAL TRANSIENT stats.enabled = true,
... stats.jobs_log_size = 1024, stats.operations_log_size = 4096;
SET OK, 1 row affected (... sec)
cr> select settings['stats']['enabled'],
... settings['stats']['jobs_log_size'],
... settings['stats']['operations_log_size']
... from sys.cluster;
+-...------------+-...------------------+-...------------------------+
| ...['enabled'] | ...['jobs_log_size'] | ...['operations_log_size'] |
+-...------------+-...------------------+-...------------------------+
| TRUE | 1024 | 4096 |
+-...------------+-...------------------+-...------------------------+
SELECT 1 row in set (... sec)
Its also possible to save a complete nested object of settings:
cr> SET GLOBAL TRANSIENT stats = {
... jobs_log_size = 2048,
... operations_log_size = 8192
... };
SET OK, 1 row affected (... sec)
cr> SELECT
... settings['stats']['jobs_log_size'] AS jobs_size,
... settings['stats']['operations_log_size'] AS op_size
... FROM sys.cluster;
+-----------+---------+
| jobs_size | op_size |
+-----------+---------+
| 2048 | 8192 |
+-----------+---------+
SELECT 1 row in set (... sec)
Using the RESET
statement, a setting will be reset to either on node
startup defined configuration file value or to its default value:
cr> RESET GLOBAL stats.enabled, stats.operations_log_size;
RESET OK, 1 row affected (... sec)
cr> SELECT
... settings['stats']['jobs_log_size'] AS jobs_size,
... settings['stats']['operations_log_size'] AS op_size
... FROM sys.cluster;
+-----------+---------+
| jobs_size | op_size |
+-----------+---------+
| 2048 | 10000 |
+-----------+---------+
SELECT 1 row in set (... sec)
RESET
can also be done on objects:
cr> RESET GLOBAL stats;
RESET OK, 1 row affected (... sec)
cr> SELECT
... settings['stats']['jobs_log_size'] AS jobs_size,
... settings['stats']['operations_log_size'] AS op_size
... FROM sys.cluster;
+-----------+---------+
| jobs_size | op_size |
+-----------+---------+
| 10000 | 10000 |
+-----------+---------+
SELECT 1 row in set (... sec)