REPMGR

Da wiki.gienne.cloud.

Da installazione del DB base.

Documentazione base: https://www.2ndquadrant.com/en/resources/repmgr/installation-instructions/

Installazione base:

yum install repmgr96 -y 

Configurazione con Macchina Principale e Standby

Aggiungere sotto /var/lib/pgsql/9.6/data nel file postgresql.conf

max_wal_senders = 10
wal_level = 'hot_standby'
hot_standby = on
archive_mode = on
archive_command = '/bin/true'

Attenzione modificare il punto di listener:

listen_addresses = '*'          # what IP address(es) to listen on;

Creazione dell'utente di repmgr (utente manager della replica):

createuser -s repmgr 

Creazione db dell'utente di replica:

createdb repmgr -O repmgr


Aggiunta nel file pg_hba.conf

local   replication   repmgr                              trust
host    replication   repmgr      127.0.0.1/32            trust 
host    replication   repmgr       10.245.71.0/24            trust
host    replication   repmgr       10.245.72.0/24            trust
local   repmgr        repmgr                              trust
host    repmgr        repmgr      127.0.0.1/32            trust
host    repmgr   repmgr       10.245.71.0/24            trust
host    repmgr   repmgr       10.245.72.0/24            trust

Nel file: repmgr.conf

cluster=cluster01
node=1
node_name=node1
conninfo='host=node1.gienne.cloud user=repmgr dbname=repmgr'


Nel file: repmgr.conf

cluster=cluster01
node=2
node_name=node2
conninfo='host=node2.gienne.cloud user=repmgr dbname=repmgr'


Launch register: repmgr -f repmgr.conf master register

Example output:

NOTICE: master node correctly registered for cluster 'cluster01' with id 1 (conninfo: host=node1.gienne.cloud user=repmgr dbname=repmgr)

Test:

psql repmgr
SELECT * FROM repmgr_<nome-cluster>.repl_nodes;
es.: SELECT * FROM repmgr_cluster01.repl_nodes;
 id   |  type     | upstream_node_id |  cluster     | name   |                     conninfo                                                            | slot_name  | priority | active
----+--------+------------------+-----------+-------+---------------------------------------------------------+-----------+----------+--------
  1    | master  |                               | cluster01   | node1  | host=node1.gienne.cloud user=repmgr dbname=repmgr |                    |      100 | t


repmgr -h node1.gienne.cloud -U repmgr -d repmgr -D /var/lib/pgsql/data/ -f /var/lib/pgsql/repmgr.conf standby clone