원인: request_logs에 cleanup 정책이 없어 65M행이 쌓였다가 DELETE되면서
VACUUM FULL 없이 18GB dead page bloat 발생.
PostgreSQL 메모리/디스크 압박 → API worker OOM kill의 간접 원인.
수정:
- _request_log_cleanup() 백그라운드 코루틴 추가
→ 1시간마다 실행, 7일 초과 request_logs 자동 DELETE
→ start_request_log_flusher()에서 함께 스케줄
- request_logs autovacuum scale_factor 0.2 → 0.01
→ 1% 변경 시 autovacuum 즉시 실행, dead tuple 빠르게 회수
즉각 조치: TRUNCATE request_logs 실행 (25GB → 56kB)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>