본문으로 건너뛰기
recovery_prefetch

recovery_prefetch

버전기본값context타입
15userenum
16userenum
17userenum
18userenum
19userenum

recovery 중 WAL이 참조하는 블록 가운데 아직 buffer pool에 없는 블록을 미리 읽어올지(prefetch) 결정한다.

유효한 값은 off, on, try이며 기본값은 try다. try는 운영체제가 read-ahead advice 발행을 지원할 때만 prefetch를 활성화한다. 곧 필요해질 블록을 미리 읽어 두면 일부 워크로드에서 recovery 중 I/O 대기 시간을 줄일 수 있다. crash recovery나 standby의 WAL replay처럼 recovery가 진행 중일 때만 동작에 영향을 주는 파라미터다.

prefetch가 WAL을 얼마나 앞서 읽을지는 wal_decode_buffer_size가, 동시에 발행할 수 있는 prefetch 양은 maintenance_io_concurrency가 제한한다.

운영 노트: standby의 replay 지연이 랜덤 읽기 I/O 대기에서 오는 경우라면 maintenance_io_concurrencywal_decode_buffer_size를 함께 조정해 prefetch 효과를 키울 수 있다.

출처: PostgreSQL 18 문서