
백엔드
Amazon Aurora PostgreSQL과 RDS PostgreSQL 환경에서 TOAST OID 충돌로 인한 성능 저하 현상의 진단 및 해결 방안
두줄요약
Aurora PostgreSQL과 RDS PostgreSQL에서 TOAST OID 고갈이 INSERT 지연을 유발하는 원인과 진단 방법을 정리했습니다. 단기 대응과 함께 파티셔닝, 지속 모니터링 같은 장기 대응이 중요하다고 설명했습니다.
핵심 내용
- Amazon Aurora PostgreSQL과 RDS PostgreSQL에서 TOAST 테이블의 OID 고갈이 INSERT 지연과 성능 저하를 유발하는 현상 정리
- OID, TOAST 저장 방식, 업데이트 시 새 OID 소비 증가, 40억 한계 접근 시 나타나는 증상과 진단 흐름 설명
pg_stat_activity, Database Insights, TOAST 테이블 크기,chunk_id최대값·고유 개수로 원인 확인하는 방법 제시- 단기 대응으로 데이터 정리·아카이빙·새 테이블 전환, 장기 대응으로 파티셔닝과 지속 모니터링 강조
적용해볼 점
- 느린 INSERT와
LWLock:OidGenLock대기가 보이면 TOAST OID 고갈 여부부터 점검 - TOAST 테이블 크기와
COUNT(DISTINCT chunk_id),MAX(chunk_id)를 주기적으로 확인 - 대용량 데이터가 많은 테이블은 파티셔닝과 데이터 정리 전략을 함께 검토
