wal_writer_flush_after
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 1MB | sighup | integer |
| 15 | 1MB | sighup | integer |
| 16 | 1MB | sighup | integer |
| 17 | 1MB | sighup | integer |
| 18 | 1MB | sighup | integer |
| 19 | 1MB | sighup | integer |
WAL writer가 WAL을 flush하는 주기를 누적량 기준으로 정한다. 단위 없이 지정하면 WAL 블록(XLOG_BLCKSZ, 보통 8kB) 단위로 해석하며 기본값은 1MB다. postgresql.conf나 서버 커맨드라인에서만 설정할 수 있다.
마지막 flush가 wal_writer_delay 이내에 있었고 그 사이 생성된 WAL이 wal_writer_flush_after보다 적으면, WAL은 운영체제에 write만 되고 디스크로 flush되지는 않는다. 0으로 설정하면 WAL 데이터를 항상 즉시 flush한다. 시간 기준 주기인 wal_writer_delay와 짝을 이루어 비동기 commit 환경에서 flush 빈도를 조절한다.
출처: PostgreSQL 18 문서