DB 연결 리소스 누수
증상
원인
DB 연결을 생성한 후 에러가 발생하면destroy()가 호출되지 않아 연결이 정리되지 않고 누적됩니다.
문제가 있던 코드 패턴:
해결 방법
1. try-finally 패턴 사용
2. 여러 DB 연결 정리
3. 현재 연결 수 확인
PostgreSQL에서 현재 연결 상태를 확인하려면:예방 방법
- DB 연결을 직접 생성하는 경우 반드시 try-finally 사용
- BaseModel의 메서드를 사용하면 자동으로 연결 관리됨
- Fixture 작업 시 FixtureManager의 메서드 사용 (자동 정리 포함)
연결 설정 오류
증상
원인
- PostgreSQL 서버가 실행되지 않음
.env파일의 DB 설정이 잘못됨- 포트 번호가 틀림
해결 방법
1. PostgreSQL 실행 확인
2. 연결 정보 확인
.env 파일 확인:
3. 수동 연결 테스트
타임아웃 오류
증상
원인
- DB 연결 풀이 고갈됨
- 장시간 실행되는 쿼리가 연결을 점유
- 연결 풀 설정이 너무 작음
해결 방법
1. 연결 풀 설정 조정
sonamu.config.ts:
2. 장시간 쿼리 확인
3. 트랜잭션 미정리 확인
권한 오류
증상
해결 방법
테스트 환경 DB 충돌
증상
원인
- 이전 테스트가 정상 종료되지 않아 테스트 DB가 남아있음
- 여러 테스트 프로세스가 동시에 실행됨
해결 방법
1. 테스트 DB 강제 삭제
2. 테스트 실행 시 격리
package.json: