논리 복제 빠른 셋업 — 출판부터 구독까지 3단계로 시작하기

논리 복제 빠른 셋업 — 출판부터 구독까지 3단계로 시작하기

논리 복제를 처음 구성할 때는 여러 가지 설정이 겹쳐 부담스럽게 느껴질 수 있어요. 그런데 기본 형태는 사실 세 단계면 끝납니다. 설정 파일 한 줄, 출판(publication) 생성, 구독(subscription) 생성 — 이 순서만 지키면 테이블 초기 동기화와 증분 변경 복제가 바로 시작돼요. 핵심만 콤팩트하게 따라가 볼게요.

출처: 공식문서

1단계: postgresql.conf 설정

먼저 postgresql.conf에서 wal_levellogical로 바꿔줘요.

wal_level = logical

논리 복제에 필요한 다른 설정들은 기본값이 기본 셋업에 충분해서 따로 건드릴 필요가 없어요.

2단계: pg_hba.conf로 복제 연결 허용

pg_hba.conf를 수정해서 복제 접속을 허용해야 해요. 아래 값은 실제 네트워크 구성과 연결할 사용자에 맞춰 바꿔야 합니다.

host     all     repuser     0.0.0.0/0     scram-sha-256

3단계: publisher에 출판 생성

출판(publisher) 데이터베이스에서 출판할 테이블을 지정해요.

CREATE PUBLICATION mypub FOR TABLE users, departments;

4단계: subscriber에 구독 생성

구독(subscriber) 데이터베이스에서 원본 DB로의 연결 정보와 출판 이름을 지정해요.

CREATE SUBSCRIPTION mysub CONNECTION 'dbname=foo host=bar user=repuser' PUBLICATION mypub;

위 과정이 끝나면 복제 프로세스가 시작됩니다. usersdepartments 테이블의 초기 내용을 동기화한 뒤, 그 테이블들의 증분 변경을 복제하기 시작해요.

더 알아보기 (Learn more)