vacuum_defer_cleanup_age
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | zero transactions | sighup | integer |
| 15 | zero transactions | sighup | integer |
VACUUM과 HOT update가 dead row 버전의 정리를 지정한 트랜잭션 수만큼 미루도록 한다. 기본값 0은 어떤 열린 트랜잭션에도 보이지 않게 된 dead row를 곧바로 정리할 수 있다는 뜻이다. postgresql.conf나 서버 커맨드라인에서만 설정할 수 있으며, hot standby를 거느린 primary에 설정하는 파라미터다.
standby 쿼리가 primary의 이른 row 정리 때문에 conflict로 취소되는 것을 줄이려는 용도다. 다만 값이 primary에서 발생하는 쓰기 트랜잭션 수 기준이라, 실제로 standby 쿼리에 확보되는 유예 시간이 얼마인지 예측하기 어렵다. 공식 문서도 대안으로 standby에 hot_standby_feedback을 켜는 쪽을 권한다.
PostgreSQL 16에서 제거됐다. 16 이후 버전에서는 hot_standby_feedback이나 max_standby_streaming_delay 같은 파라미터로 같은 목적을 달성한다.
출처: PostgreSQL 15 문서