wal_sender_shutdown_timeout
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 19 | — | user | integer |
서버 shutdown 시 WAL 데이터가 receiver로 모두 전송되기를 기다리는 최대 시간을 정한다. PostgreSQL 19(beta)에서 추가된 파라미터로, 기본값 -1은 timeout 없이 끝까지 기다린다는 뜻이다.
replication을 쓰는 서버는 보통 모든 WAL 데이터가 receiver로 전송된 뒤에야 shutdown을 마친다. shutdown 후에도 sender와 receiver를 sync 상태로 유지하기 위한 동작으로, 특히 physical replication의 switchover에서 중요하다. 대신 shutdown이 그만큼 지연될 수 있다. 이 파라미터를 설정하면 timeout이 지나는 시점에 대기를 멈추고 shutdown을 완료하므로, 네트워크 latency가 큰 구간에서 replication이 느리거나 logical replication apply worker가 lock 대기에 막힌 상황에서 shutdown 시간을 줄일 수 있다. 단위 없이 값을 주면 밀리초로 해석한다.
primary_conninfo나 CREATE SUBSCRIPTION의 CONNECTION 절에서도 지정할 수 있어(예: options=-cwal_sender_shutdown_timeout=10s) replication 연결마다 다른 timeout을 줄 수 있다. 예를 들어 physical replication에는 비활성화해 switchover 안전성을 지키고, logical replication에만 timeout을 걸어 shutdown 시간을 제한하는 식이다.
출처: PostgreSQL 19 문서