Logical replication은 물리적(streaming) replication처럼 전체 데이터베이스 클러스터를 바이트 단위로 복사하는 대신, 특정 테이블 수준에서 (발행/구독 모델을 사용하여) 데이터 변경을 복제합니다. 이는 유연하게 만듭니다 — 선택적, 버전 간, 다른 스키마로 — 마이그레이션과 통합에 이상적입니다.
Logical vs physical replication
PHYSICAL (streaming) → 전체 클러스터를 저장/WAL 수준에서 복제
✓ 정확한 복사, 단순 ✗ 전부 아니면 전무, 같은 Postgres 버전, 읽기 전용 replica
LOGICAL → 발행/구독 모델로 특정 테이블의 변경 복제
✓ 선택적 (테이블 선택), 버전 간, 다른 스키마로, replica가 쓰기 가능
✗ 더 많은 설정, 일부 제한 (DDL은 자동 복제 안 됨 등)
Logical replication 설정 (발행/구독)
PUBLICATION my_pub users, orders;
SUBSCRIPTION my_sub
CONNECTION
PUBLICATION my_pub;
