Streaming Replication 구축 — Docker로 Primary–Replica 실습
📋 실습 안내
✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기
내 코드 실행 결과
🎯 완성 미리보기
목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기
이번 강의 전용
▼
선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. PostgreSQL Streaming Replication에서 Replica가 읽기 쿼리를 허용하도록 하는 설정은?
💡 hot_standby = on 설정 시 Standby 서버가 복구 중에도 읽기 전용 쿼리를 허용합니다. 이를 통해 읽기 부하를 분산할 수 있습니다.
Q2. pg_basebackup -R 옵션의 역할은?
💡 -R(--write-recovery-conf) 옵션은 pg_basebackup 완료 후 자동으로 standby.signal 파일과 postgresql.auto.conf에 primary_conninfo를 기록하여 Replica 설정을 자동화합니다.
Q3. Replication Slot을 삭제하지 않고 Replica를 제거하면 발생하는 문제는?
💡 Replication Slot은 해당 Replica가 적용하지 않은 WAL을 보존합니다. Slot이 남아 있으면 WAL 파일이 계속 누적되어 디스크를 가득 채울 수 있습니다.
Q4. 복제 지연(Replication Lag)을 시간으로 확인하는 쿼리는?
💡 pg_last_xact_replay_timestamp()는 Replica에서 마지막으로 적용된 트랜잭션의 타임스탬프를 반환합니다. 현재 시간과의 차이가 복제 지연 시간입니다.
Q5. synchronous_commit = remote_write 설정의 의미는?
💡 remote_write는 Replica의 WAL receiver가 OS 버퍼에 쓴 것을 확인한 후 Primary가 커밋 응답을 반환합니다. remote_apply는 실제 데이터 적용까지 대기합니다.
😅
아쉽네요!
점수: 0점 — 70점 이상이 되어야 통과합니다.