Run-time Configuration

There are several configuration parameters that affect the behavior of the replication system. In this section, we describe how to set the slon daemon's configuration parameters; the following subsections discuss each parameter in detail.

All parameter names are case-insensitive. Every parameter takes a value of one of four types: boolean, integer, floating point, or string. Boolean values may be written as ON, OFF,TRUE, FALSE, YES, NO, 1, 0 (all case-insensitive) or any unambiguous prefix of these.

One parameter is specified per line. The equal sign between name and value is optional. Whitespace is insignificant and blank lines are ignored. Hash marks (#) introduce comments anywhere. Parameter values that are not simple identifiers or numbers must be single-quoted.

Some options may be set through the Command-line, these options override any conflicting settings in the configuration file.

1. Logging

syslog (integer)

Sets up logging to syslog. If this parameter is 1, messages go both to syslog and the standard output. A value of 2 sends output only to syslog (some messages will still go to the standard output/error). The default is 0, which means syslog is off.

syslog_facility (string)

Sets the syslog "facility" to be used when syslog enabled. Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The default is LOCAL0.

syslog_ident (string)

Sets the program name used to identify slon messages in syslog. The default is slon.

log_level (integer)

Debug log level (higher value ==> more output). Range: [0,4], default 0

There are nine log message types; using this option, some or all of the "debugging" levels may be left out of the slon logs. In Slony-I version 2, a lot of log message levels have been revised in an attempt to ensure the "interesting stuff" comes in at CONFIG/INFO levels, so that you could run at level 0, omitting all of the "DEBUG" messages, and still have meaningful contents in the logs.

log_pid (boolean)

Determins, if you would like the pid of the (parent) slon process to appear in each log line entry.

log_timestamp (boolean)

Determines if you would like the timestamp of the event being logged to appear in each log line entry.

Note that if syslog usage is configured, then this is ignored; it is assumed that syslog will be supplying timestamps, and timestamps are therefore suppressed.

log_timestamp_format (string)

An interval in seconds at which the remote worker thread will output the query, used to select log rows from the data provider, together with it's EXPLAIN query plan. The default value of 0 turns this feature off. The allowed range is 0 (off) to 86400 (once per day).

explain_interval (integer)

A strftime()-conformant format string for use if log_timestamp is enabled. The default is "%Y-%m-%d %H:%M:%S %Z"

pid_file (string)

Location and filename you would like for a file containing the Process ID of the slon process. The default is not defined in which case no file is written.

monitor_interval (integer)

Indicates the number of milliseconds the monitoring thread waits to queue up status entries before dumping such updates into the components table.

monitor_threads (bool)

Indicates whether or not the monitoring thread is to be run. The default is to do so.