xSQL Configuration File Parameters

As explained in xSQL Startup Options there are a variety of configuration parameters that determine xSQL behavior. The following table defines the options that can be specified in the configuration file. The configuration file uses JSON format with some extensions:

1. Allows hexadecimal (0x[0-9A-F]), octal(0[0-7]) and decimal numbers

2. Numbers allow suffixes 'k', 'K' (kilo), 'm', 'M' (mega) and 'g', 'G' (giga). (For example, 100m means 100*1024*1024)

3. Quotes are not mandatory for strings without white space and/or special symbols

4. Symbols after the hash symbol # are considered a comment (up to the end of the line)

By default, xSQL will find file xsql.cfg in the working directory. But this can be overridden by the -c command line option.

If some parameter value is a combination of flags, it can be defined as array or single flag value. For example:

a) "flags : value1" means "flags = value1"

b) "flags : [value1, value2, value3]" means "flags = value1 | value2 | value3"

c) "flags : []" means "flags = 0"

The following table lists the different sections within the configuration file and their associated C API structures. Please use the links to view detailed descriptions of the options for that section:

Section Description
runtime_configuration : {...} Runtime configuration (the set of libraries loaded at startup)
runtime_options : {...} Global eXtremeDB runtime options (mco_runtime_setoption())
devices : [ {...} ] Array of device descriptions (mco_device_t) and "shortcut" parameters
schema Database schema definition
db_params: {...} Database parameters (mco_db_params_t)
SQL parameters Parameters affecting SQL operations
tl_params : {...} Transaction Logging parameters (mco_TL_start_data_t)
ha_params: {...} HA parameters (mco_HA_master_params_t and mco_HA_replica_params_t)
cluster_params : {...} Cluster parameters (mco_cluster_params_t)
iot_params: {...} Active replication parameters
ssl_params : {...} OpenSSL parameters (mco_ssl_params_t)
perfmon : {...} Performance Monitor (PERFMON) params. (To use Performance Monitor in xSQL)
rest : {...} Run the embedded REST server and expose the Web Services REST API
xlog_params : {...} Statistics Logging parameters
trace_params: {...} Tracing Framework parameters
Miscellaneous parameters Miscellaneous parameters affecting eXtremeDB runtime operation
Persistent Media IO Asynchronous I/O and different multi-file format options

Generally speaking, the configuration file specifications correspond to the C API structures passed as parameters to the C API functions mco_db_open_dev(), mco_cluster_db_open(), mco_HA_attach_master() and mco_HA_attach_replica(). For example, the configuration file devices section reflects the array of mco_device_t structures passed to mco_db_open_dev(), or mco_cluster_db_open(), the db_params section corresponds to the mco_db_params_t parameter for the same API; the cluster_params section reflects mco_cluster_params_t.

Note that command line options have precedence over the configuration file parameters. So an option present in the configuration file will be overridden by any value specified for that option on the command line.