archive_mode
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | postmaster (재시작) | enum |
| 15 | — | postmaster (재시작) | enum |
| 16 | — | postmaster (재시작) | enum |
| 17 | — | postmaster (재시작) | enum |
| 18 | — | postmaster (재시작) | enum |
| 19 | — | postmaster (재시작) | enum |
완료된 WAL segment를 archive_command나 archive_library를 통해 archive storage로 보낼지 여부를 정한다. off, on, always 세 값을 가지며 기본값은 off다. 이 파라미터는 서버 시작 시에만 설정할 수 있다.
on과 always는 평상시 운영에서는 차이가 없다. 다만 always로 설정하면 archive recovery나 standby 모드에서도 WAL archiver가 활성화되어, archive에서 restore한 파일이나 streaming replication으로 받은 파일도 다시 archive된다. standby가 자체 archive를 유지해야 하는 구성에서 쓰는 값이다.
archive_mode를 archive_command·archive_library와 별도 파라미터로 둔 이유는, archiving 모드를 벗어나지 않고도 archive 명령을 바꿀 수 있게 하기 위해서다. wal_level이 minimal이면 archive_mode를 켤 수 없다.
운영 노트:
archive_mode 변경은 서버 재시작이 필요하지만 archive_command는 reload만으로 바뀐다. 따라서 archiving을 나중에 쓸 가능성이 있다면 처음부터 archive_mode = on으로 켜 두고 명령만 비워 두는 방법도 있는데, 이 경우 WAL segment가 계속 누적되므로 pg_wal 용량을 주시해야 한다.출처: PostgreSQL 18 문서