본문으로 건너뛰기
synchronized_standby_slots

synchronized_standby_slots

버전기본값context타입
17userstring
18userstring
19userstring

logical WAL sender 프로세스가 기다려야 할 streaming replication standby의 slot 이름 목록을 콤마로 구분해 지정한다. primary(sending 서버)에 설정하는 파라미터로, PostgreSQL 17에서 추가됐다.

여기 지정된 physical replication slot들이 WAL 수신을 확인하기 전까지 logical WAL sender는 디코딩한 변경을 plugin으로 내보내지 않는다. 이렇게 하면 logical failover slot이 physical standby에 아직 도달하지 않은 변경을 먼저 소비하는 일이 없어져, standby가 promote된 뒤에도 logical replication을 안전하게 이어갈 수 있다. failover 후 logical 연결을 넘겨받을 physical standby의 slot을 여기에 나열하고, 해당 standby에는 sync_replication_slots = true를 설정해야 한다.

주의할 점이 있다. 목록의 slot이 존재하지 않거나 invalidate되면 logical replication이 진행되지 않는다. 또 logical failover slot에 대해 pg_replication_slot_advance, pg_logical_slot_get_changes, pg_logical_slot_peek_changes를 실행하면 목록의 모든 physical slot이 WAL 수신을 확인할 때까지 블로킹된다.

출처: PostgreSQL 18 문서