I have 3 servers with Ubuntu 19.10, PostgreSQL 12.2 and Patroni 1.6.4 and I would like to have the following setup:
I want to have two servers with synchronised replication and I want to add a 3rd server with pglogical replication just to accept inserts to specific tables. no DELETE, TRUNCATE or anything else.
I log a huge amount of purchases per day, around 300M. I want to have to servers to already have the purchases history of the last 30 days, and the 3rd server which has a really big storage, will hold all the history of the purchases.
So far I have a patroni cluster with etcd for the 2 servers with the following configuration:
This is for the first and 2nd server I have the following configuration, of course the name of the server differs in each configuration:
scope: patroni_cluster_1
name: server_X
restapi:
listen: 0.0.0.0:8008
connect_address: X.X.X.X:8008
etcd:
hosts: X.X.X.X:2379
protocol: http
bootstrap:
dcs:
ttl: 30
loop_wait: 10
retry_timeout : 10
maximum_lag_on_failover: 1048576
postgresql:
use_pg_rewind: true
use_slots: true
parameters:
wal_keep_segments: 100
initdb:
- encoding: UTF8
- data-checksums
pg_hba:
- host replication replicator 0.0.0.0/0 md5
- host all all 0.0.0.0/0 md5
postgresql:
listen: 0.0.0.0:5432
connect_address: X.X.X.X:5432
synchronous_mode: true
synchronous_mode_strict: false
data_dir: /var/lib/postgresql/patroni_cluster_1/server_X/data
bin_dir: /usr/lib/postgresql/12/bin
authentication:
replication:
username: replicator
password: XXXX
superuser:
username: postgres
password: XXXX
parameters:
shared_preload_libraries: pglogical
I added pglogical as a shared library because of the 3rd server which I would like to know if I can fully setup with Patroni.
I read about how to setup pglogical with https://blog.dbi-services.com/postgresql-logical-replication-with-pglogical/ and I would like to know if I can fully configure the 3rd server with pglogical for inserts only.
I'm new to Patroni and I'm pretty lost so any information regarding this issue would be greatly appreciated.