Craig Kerstiens, PostgreSQL 19 온라인 REPACK 시험 결과 공개
PostgreSQL 19의 내장 `REPACK (CONCURRENTLY)`는 테이블을 새 파일로 재작성하면서 작업 중 변경을 WAL 논리 디코딩으로 반영해, 대량 작업 중에도 읽기와 쓰기를 허용합니다. Snowflake Engineering Blog의 Craig Kerstiens가 공개한 CPU 1개·메모리 512MB 환경 시험에서 100만 행이 남은 493MB 테이블을 재작성하는 데 온라인 방식은 9.4초, `VACUUM FULL`은 2.7초가 걸렸습니다. 온라인 방식은 더 오래 걸렸지만 마지막 파일 교체 단계에서만 강한 잠금을 잡았으며, 사용에는 추가 저장 공간과 스냅샷 관련 제약이 따릅니다.