OSSW(Open Source System SoftWare2014. 11. 26. 17:28
PostgreSQL Streaming Replication
설명 :
스트리밍 복제 (Streaming Replication)은 PostgreSQL 9.0 이상에서 사용 가능한 복제 기능. Insert/Update/Delete, Create/Drop 가능한 1 개의 Master DB에 SELECT만 할 수 있는 여러 Standby DB에 복제하는 것 Standby DB의 변경 결과가 반영되기까지 약간의 지연이 있지만 비교적 지연은 적게, 마스터 DB에 영향 작은 복제 방식.
목적 :
1. 많은 SELECT Query의 Server 간 분산 2. Master DB 이상시 신속한 Fail over 3. Master DB의 Disk 장애에 대비한 실시간 Backup
9.0 에 비해 강화된 9.1의 기능
1. 동기화 복제 (변경 결과 도착 보장) 2. 기반 Backup의 간소화 (초기 Data 복제 도구) 3. 복제 상태를 확인하기위한 System view 4. Fail Over 지원 강화 (전용 명령 다른 Master Server에 다시 연결)
- 구축절차
1. Master
Postgresql 9.1 설치 (생략)
복제용 사용자 생성
-bash-4.1$ psql psql (9.1.7) Type "help" for help. postgres=# CREATE ROLE repl_user LOGIN REPLICATION PASSWORD 'xxxxxxxx'; CREATE ROLE postgres=# \q -bash-4.1$
pg_hba.conf 수정
vi $PGDATA/pg_hba.conf
host all all 127.0.0.1/32 trust host replication repl_user 127.0.0.1/32 md5 host all all ::1/128 trust host replication repl_user ::1/128 md5
postgresql.conf 수정
vi $PGDATA/postgresql.conf
wal_level = hot_standby max_wal_sender = 2 # 대기 DB의 수 + 1 # Archive 사용시 archive_mode = on archive_command = 'cp "%p" /mnt/pgbackup/archive/"%f"' # Archive 미사용시 archive_mode = off wal_keep_segments = 8 # 8-32가 기준