개요
Datastream은 PostgreSQL WAL(미리 쓰기 로그) 트랜잭션 로그를 사용하여 PostgreSQL 스트림을 읽습니다. 이 로그는 데이터베이스 서버의 WAL 파일에 저장됩니다. WAL 로그의 각 레코드는 데이터베이스의 테이블 중 하나에 있는 실제 데이터의 단일 변경사항을 나타냅니다.
PostgreSQL WAL 파일의 구성 매개변수 설정
PostgreSQL 데이터베이스에 다음 구성 설정을 적용하는 것이 좋습니다.
max_slot_wal_keep_size
: 복제 슬롯에서 사용하는 스토리지의 양을 제한하도록 이 매개변수를 설정합니다(PostgreSQL 13 이상에서만 사용 가능). 이는 WAL 파일 크기가 전체 스토리지를 차지하고 데이터베이스가 비정상 종료될 수 있는 장기 실행 트랜잭션에서 특히 중요합니다.statement_timeout
: 장기 실행 트랜잭션으로 인한 지연 시간을 줄이려면 이 매개변수를 선택한 값으로 설정합니다.max_slot_wal_keep_size
을 지원하지 않는 데이터베이스에 대한 대안으로statement_timeout
를 사용할 수도 있습니다.wal_sender_timeout
: 이 매개변수를0
(제한 시간 중지) 또는 10분 이상의 값으로 설정합니다.
스트림을 10개 넘게 만들려는 경우 또는 계획된 스트림 수 외에 다른 리소스에서 사용하는 논리 복제 슬롯 수가 10개를 초과하는 경우 다음 매개변수를 수정해야 합니다.
max_replication_slots
: 데이터베이스에 설정된 복제 슬롯 수에 따라 이 매개변수의 값을 늘립니다(스트림당 복제 슬롯 1개 필요). 서버 시작 시max_replication_slots
만 설정할 수 있습니다.max_wal_senders
:max_replication_slots
매개변수 값보다 크도록 이 매개변수의 값을 늘립니다. 서버를 시작할 때만max_wal_senders
를 설정할 수 있습니다.
다음 단계
- 소스로 PostgreSQL을 사용하는 기능에 대해 자세히 알아보세요.
- 소스 PostgreSQL 데이터베이스 구성에 대해 자세히 알아보세요.