꼭 테스트용 서버 두대 이상 을 구해서 충분히 테스트 해보고 개발 DB → 운영 DB 순으로 적용할 것!
PostgreSQL 에서 제공하는 복제 서버 구축 방식을 요약하면 다음과 같다.
이렇게 하면 마스터 서버와 같은 스키마/데이터를 가지는 복제 서버가 탄생하게 된다. 이 때, 마스터 서버의 로그를 WAL(Write Ahead Log) 이라고 한다.
WAL 파일 자체를 스탠바이 서버로 전달(file copy)하면 Log-Shipping 방식이다.
WAL 파일 저장 여부와 관계 없이 로그의 내용을 스탠바이 서버로 직접 전달하면 Streaming 방식이 된다.
마스터 서버에서 지정된 WAL 파일의 크기를 다 채워야 스탠바이 서버로 전송이 일어나기 때문에, 그 시간 동안 마스터/스탠바이 서버의 데이터가 어긋나 있는 상태가 유지된다. 만약 이 때 마스터 서버에 장애가 발생한다면 WAL 파일을 다 채우지 못해서 전달되지 못한 로그는 유실될 수 밖에 없다.