1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# Sets how many cleanup cycles to run before a vacuum is done.
# Range: [0,100], default: 3
vac_frequency=2
# Aging interval to use for deleting old events and for trimming
# data from sl_log_1/sl_log_2
cleanup_interval="30 seconds"
# Debug log level (higher value ==> more output). Range: [0,4], default 4
log_level=2
# Check for updates at least this often in milliseconds.
# Range: [10-60000], default 2000
sync_interval=800
# Maximum amount of time in milliseconds before issuing a SYNC event,
# This prevents a possible race condition in which the action sequence
# is bumped by the trigger while inserting the log row, which makes
# this bump is immediately visible to the sync thread, but
# the resulting log rows are not visible yet. If the sync is picked
# up by the subscriber, processed and finished before the transaction
# commits, this transaction's changes will not be replicated until the
# next SYNC. But if all application activity suddenly stops,
# there will be no more sequence bumps, so the high frequent -s check
# won't detect that. Thus, the need for sync_interval_timeout.
# Range: [0-120000], default 10000
sync_interval_timeout=2000
# Maximum number of SYNC events to group together when/if a subscriber
# falls behind. SYNCs are batched only if there are that many available
# and if they are contiguous. Every other event type in between leads to
# a smaller batch. And if there is only one SYNC available, even -g60
# will apply just that one. As soon as a subscriber catches up, it will
# apply every single SYNC by itself.
# Range: [0,10000], default: 20
sync_group_maxsize=5
# Size above which an sl_log_? row's log_cmddata is considered large.
# Up to 500 rows of this size are allowed in memory at once. Rows larger
# than that count into the sync_max_largemem space allocated and free'd
# on demand.
# Range: [1024,32768], default: 8192
sync_max_rowsize=16384
# Maximum amount of memory allowed for large rows. Note that the algorithm
# will stop fetching rows AFTER this amount is exceeded, not BEFORE. This
# is done to ensure that a single row exceeding this limit alone does not
# stall replication.
# Range: [1048576,1073741824], default: 5242880
sync_max_largemem=3276800
# 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.
# Range: [0-2], default: 0
syslog=1
# If true, include the process ID on each log line. Default is false.
log_pid=true
# If true, include the timestamp on each log line. Default is true.
#log_timestamp=true
# A strftime()-conformant format string for use with log timestamps.
# Default is '%Y-%m-%d %H:%M:%S %Z'
log_timestamp_format='%Y-%m-%d %H:%M:%S'
# An interval in seconds at which the remote worker will output the
# query used to select log rows together with it's query plan. The
# default value of 0 turns this feature off.
# Range: [0-86400], default: 0
#explain_interval=0
# Where to write the pid file. Default: no pid file
pid_file='/var/lib/postgresql/slony1-engine.github/clustertest/conf/slon.5.pid'
# Sets the syslog "facility" to be used when syslog enabled. Valid
# values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
syslog_facility=LOCAL0
# Sets the program name used to identify slon messages in syslog.
syslog_ident=slon
# Set the cluster name that this instance of slon is running against
# default is to read it off the command line
cluster_name='disorder_replica'
# Set slon's connection info, default is to read it off the command line
#conn_info='host=/tmp port=5432 user=slony'
# maximum time planned for grouped SYNCs
# If replication is behind, slon will try to increase numbers of
# syncs done targeting that they should take this quantity of
# time to process. in ms
# Range [10000,600000], default 60000.
desired_sync_time=6000
# Execute the following SQL on each node at slon connect time
# useful to set logging levels, or to tune the planner/memory
# settings. You can specify multiple statements by separating
# them with a ;
sql_on_connection="SET log_min_duration_statement TO '1000';"
# Command to run upon committing a log archive.
# This command is passed one parameter, namely the full pathname of
# the archive file
#command_on_logarchive="/usr/local/bin/movearchivetoarchive"
# A PostgreSQL value compatible with ::interval which indicates how
# far behind this node should lag its providers.
# lag_interval="8 minutes"
# Directory in which to stow sync archive files
# archive_dir="/tmp/somewhere"
|