i am lazy

PostgreSQL repmgr installation steps 본문

PostgreSQL

PostgreSQL repmgr installation steps

Azik 2022. 10. 11. 16:16
728x90
반응형

 

Photo by: wikipedia.org

REPMGR이란 ?
repmgr 은 PostgreSQL 서버 클러스터에서 복제 및 장애 조치를 관리하기 위한 오픈 소스 도구 모음입니다. 대기 서버를 설정하고, 복제를 모니터링하고, 장애 조치 또는 수동 전환 작업과 같은 관리 작업을 수행하는 도구로 PostgreSQL의 내장 핫 스탠바이 기능을 향상합니다.

 

Installation steps

Primary node = 192.168.56.179 
Standby node = 192.168.56.80
PostgreSQL version  = 14

 

Primary node 

1. check   PostgreSQL  version
cat $PGDATA/PG_VERSION

 

 

2. repmgr install 
yum install repmgr

rpm -qa | grep repmgr 

3. update postgresql.conf  and restart 

vi $PGDATA/postgresql.conf

max_wal_senders = 10

max_replication_slots = 10

wal_level = 'hot_standby' or 'replica' or 'logical'

hot_standby = on

archive_mode = on

archive_command = '/bin/true'

shared_preload_libraries = 'repmgr'

4. create user and database

 

create user repmgr superuser;
create database repmgr with owner repmgr;

5. configure pg_hba.conf

 

 

 

6. create repmgr.conf file

pwd
vi repmgr.conf

cluster='failovertest'

node_id=1

node_name=node1

conninfo='host=node1 user=repmgr dbname=repmgr connect_timeout=2'

data_directory='/data/pgdata/14'

failover=automatic

promote_command='/usr/pgsql-14/bin/repmgr standby promote -f /var/lib/pgsql/repmgr.conf --log-to-file'

follow_command='/usr/pgsql-14/bin/repmgr standby follow -f /var/lib/pgsql/repmgr.conf --log-to-file --upstream-node-id=%n'

7. register primary server 

 /usr/pgsql-14/bin/repmgr -h 192.168.56.179  -U repmgr -d repmgr -f /var/lib/pgsql/repmgr.conf standby clone --dry-run

 /usr/pgsql-14/bin/repmgr  -f /var/lib/pgsql/repmgr.conf primary register

7. register primary server and check cluster status

 /usr/pgsql-14/bin/repmgr  -f /var/lib/pgsql/repmgr.conf primary register 

 

 

 

Standby node 

 

1. show $PGDATA area and check repmgr version 

2. create repmgr.conf file

3. standby clone

 /usr/pgsql-14/bin/repmgr  -h 192.168.56.179 -U repmgr -d rempgr  -f /var/lib/pgsql/repmgr.conf standby clone

4. check $PGDATA area

 

 

 

5. start service

pg_ctl start 

6 . standby register 

 /usr/pgsql-14/bin/repmgr  -f /var/lib/pgsql/repmgr.conf standby register

7. show cluster

 /usr/pgsql-14/bin/repmgr  -f /var/lib/pgsql/repmgr.conf cluster show

Check replication status

 

Primary

SELECT * FROM pg_stat_replication; \gx

Create database

 

Standby

SELECT * FROM pg_stat_wal_receiver; \gx

 

Thank you !

728x90
반응형

'PostgreSQL' 카테고리의 다른 글

PostgreSQL VACUUM  (0) 2022.10.25
PostgreSQl pg_dump & pg_restore  (0) 2022.10.19
PostgreSQL port 변경 방법  (0) 2022.10.04
Basic psql commands  (0) 2022.10.04
Free test data  (0) 2022.10.04
Comments