mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-01-27 18:20:05 +00:00
Implementation of "standby cluster" described in #657. Standby cluster consists of a "standby leader", that replicates from a "remote master" (which is not a part of current patroni cluster and can be anywhere), and cascade replicas, that replicate from the corresponding standby leader. "Standby leader" behaves pretty much like a regular leader, which means that it holds a leader lock in DSC, in case if disappears there will be an election of a new "standby leader". One can define such a cluster using the section "standby_cluster" in patroni config file. This section provides parameters for standby cluster, that will be applied only once during bootstrap and can be changed only through DSC.
100 lines
2.6 KiB
YAML
100 lines
2.6 KiB
YAML
scope: batman
|
|
#namespace: /service/
|
|
name: postgresql0
|
|
|
|
restapi:
|
|
listen: 127.0.0.1:8008
|
|
connect_address: 127.0.0.1:8008
|
|
# certfile: /etc/ssl/certs/ssl-cert-snakeoil.pem
|
|
# keyfile: /etc/ssl/private/ssl-cert-snakeoil.key
|
|
# authentication:
|
|
# username: username
|
|
# password: password
|
|
|
|
# ctl:
|
|
# insecure: false # Allow connections to SSL sites without certs
|
|
# certfile: /etc/ssl/certs/ssl-cert-snakeoil.pem
|
|
# cacert: /etc/ssl/certs/ssl-cacert-snakeoil.pem
|
|
|
|
etcd:
|
|
host: 127.0.0.1:2379
|
|
|
|
bootstrap:
|
|
# this section will be written into Etcd:/<namespace>/<scope>/config after initializing new cluster
|
|
# and all other cluster members will use it as a `global configuration`
|
|
dcs:
|
|
ttl: 30
|
|
loop_wait: 10
|
|
retry_timeout: 10
|
|
maximum_lag_on_failover: 1048576
|
|
# master_start_timeout: 300
|
|
# synchronous_mode: false
|
|
#standby_cluster:
|
|
#host: 127.0.0.1
|
|
#port: 1111
|
|
#primary_slot_name: patroni
|
|
postgresql:
|
|
use_pg_rewind: true
|
|
# use_slots: true
|
|
parameters:
|
|
# wal_level: hot_standby
|
|
# hot_standby: "on"
|
|
# wal_keep_segments: 8
|
|
# max_wal_senders: 10
|
|
# max_replication_slots: 10
|
|
# wal_log_hints: "on"
|
|
# archive_mode: "on"
|
|
# archive_timeout: 1800s
|
|
# archive_command: mkdir -p ../wal_archive && test ! -f ../wal_archive/%f && cp %p ../wal_archive/%f
|
|
# recovery_conf:
|
|
# restore_command: cp ../wal_archive/%f %p
|
|
|
|
# some desired options for 'initdb'
|
|
initdb: # Note: It needs to be a list (some options need values, others are switches)
|
|
- encoding: UTF8
|
|
- data-checksums
|
|
|
|
pg_hba: # Add following lines to pg_hba.conf after running 'initdb'
|
|
- host replication replicator 127.0.0.1/32 md5
|
|
- host all all 0.0.0.0/0 md5
|
|
# - hostssl all all 0.0.0.0/0 md5
|
|
|
|
# Additional script to be launched after initial cluster creation (will be passed the connection URL as parameter)
|
|
# post_init: /usr/local/bin/setup_cluster.sh
|
|
|
|
# Some additional users users which needs to be created after initializing new cluster
|
|
users:
|
|
admin:
|
|
password: admin
|
|
options:
|
|
- createrole
|
|
- createdb
|
|
|
|
postgresql:
|
|
listen: 127.0.0.1:5432
|
|
connect_address: 127.0.0.1:5432
|
|
data_dir: data/postgresql0
|
|
# bin_dir:
|
|
# config_dir:
|
|
pgpass: /tmp/pgpass0
|
|
authentication:
|
|
replication:
|
|
username: replicator
|
|
password: rep-pass
|
|
superuser:
|
|
username: postgres
|
|
password: zalando
|
|
parameters:
|
|
unix_socket_directories: '.'
|
|
|
|
#watchdog:
|
|
# mode: automatic # Allowed values: off, automatic, required
|
|
# device: /dev/watchdog
|
|
# safety_margin: 5
|
|
|
|
tags:
|
|
nofailover: false
|
|
noloadbalance: false
|
|
clonefrom: false
|
|
nosync: false
|