DB
Postgres 변경 안전하게 하기
운영 중인 Postgres 데이터베이스를 안전하게 수정할 때 확인할 체크리스트를 정리했다.
운영 중인 서비스에서 Postgres를 건드려야 할 때는 신중해야 한다. 특히 스키마나 마이그레이션 작업은 작은 이상 신호도 빨리 분리해서 봐야 한다.
DB 계층에서 문제가 나면 화면만 보고 판단할 수 없다. 실제 데이터가 제대로 저장되는지, 권한은 맞는지, 마이그레이션 상태는 어떤지 여러 각도에서 봐야 한다.
DB 상태 먼저 확인
데이터 계층 문제를 좁히려면 스키마부터 확인하는 게 좋다. 데이터 계층의 흐름을 먼저 끊어서 봐야 한다.
- 먼저 볼 것: 스키마 상태
- 비교할 값: 정상일 때의 DB 상태
- 남길 기록: 명령어 출력, 오류 메시지, 수정한 설정
마이그레이션 상태 보기
Prisma를 사용한다면 마이그레이션이 실제로 어디까지 진행됐는지 확인한다.
npx prisma validate
npx prisma migrate status
DATABASE_URL이 애매하면 다른 부분을 고쳐도 결과가 바뀌지 않을 수 있다. 로컬과 운영 환경이 다른 DB를 가리키고 있지 않은지 확인하자.
백업과 롤백 계획
변경하기 전에 롤백 계획을 세워야 한다. 실패했을 때 어떻게 원상복구할지 미리 정해두면 실수할 때 마음이 편하다.
확인 순서:
- 같은 조건에서 변경을 다시 시도해본다
- 로그에서 달라진 부분을 설명해본다
- 실제 데이터 조회 결과로 최종 확인한다
다음을 위한 기록
중요한 건 Postgres 자체보다 재현 가능한 단서를 남기는 것이다. 마이그레이션 상태를 확인하면 다음으로 볼 범위가 확 줄어든다. 작은 확인을 남겨두면 다음 문제를 훨씬 짧게 처리할 수 있다.