DB 자동 복제

image.png

1단계: Primary Server 설정

1.1 postgresql.conf 수정

bash

sudo nano /etc/postgresql/14/main/postgresql.conf

다음 설정을 추가/수정:

INI

# 복제 관련 설정
wal_level = replica
max_wal_senders = 10
max_replication_slots = 10
hot_standby = on

# 아카이빙 설정 (선택사항이지만 권장)
archive_mode = on
archive_command = 'cp %p /var/lib/postgresql/14/main/archive/%f'

# 동기화 설정 (성능 vs 안정성 고려)
synchronous_commit = on
synchronous_standby_names = 'standby1'

1.2 아카이브 디렉토리 생성

sudo mkdir -p /var/lib/postgresql/14/main/archive
sudo chown postgres:postgres /var/lib/postgresql/14/main/archive
sudo chmod 700 /var/lib/postgresql/14/main/archive

1.3 pg_hba.conf 수정

sudo nano /etc/postgresql/14/main/pg_hba.conf

Standby 서버 IP에서의 복제 접속 허용:

# Standby 서버에서의 복제 접속 허용
host    replication     repl_user       **[STANDBY_IP]**/32         scram-sha-256

1.4 복제 사용자 생성

sudo -i -u postgres psql

SQL