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 numbers2. Numbers allow suffixes 'k', 'K' (kilo), 'm', 'M' (mega) and 'g', 'G' (giga). (For example,
100m
means100*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" parametersschema 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
andmco_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.