max_repack_replication_slots
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 19 | 5 | postmaster (재시작) | integer |
REPACK 명령이 사용할 수 있는 replication slot의 최대 개수를 정한다. PostgreSQL 19(beta)에서 추가된 파라미터로, 기본값은 5다.
PostgreSQL 19는 VACUUM FULL과 CLUSTER의 기능을 흡수한 REPACK 명령을 도입했다. 그중 REPACK ... CONCURRENTLY는 테이블을 새 파일로 다시 쓰는 동안 들어온 변경을 logical decoding으로 캡처해 적용하는데, 이때 내부적으로 replication slot을 하나 사용한다. 이 파라미터가 그런 slot 수의 상한이므로, 사실상 동시에 실행할 수 있는 REPACK CONCURRENTLY의 개수를 제한한다. 서버 시작 시에만 설정할 수 있다.
운영 노트: replication slot은 소비되지 않은 WAL을 붙잡아 둔다.
REPACK 도중 backend가 비정상 종료돼 slot이 남으면 WAL이 계속 쌓일 수 있으니, 작업 후 pg_replication_slots에서 잔여 slot을 확인하고 정리하는 습관이 필요하다.출처: PostgreSQL 19 문서