본문 바로가기

Backend/DB

Docker가 바라보는 script를 잘 파악하자 (feat. role "postgres" does not exist)

같은 db를 바라보는 repo를 옮겨다니면서 docker로 postgre를 실행하는데 있어서 계속 에러가 났었다. 

이전엔 연결이 잘 됐는데..?! 

내가 뭘 잘못한건가 싶어서 다시 한번 보았다. 

 

결론적으로 나는 dev를 바라보는 script를 찾아보고 있었으나, Run 실행환경(start:local)은 local script를 바라보고 있었던 것이다. 

[Nest] 67804  - 08/23/2023, 9:32:00 PM   ERROR [ExceptionHandler] role "postgres" does not exist 

 

.local.env 파일

DB_HOST=localhost
DB_PORT=5432
DB_NAME=postgres

 

그러나, start:dev로 다시 실행했을때 위에서 발생했을때 에러는 사라졌다. 

 

.development.env 파일

DB_HOST=db 호스트 이름
DB_PORT=5432
DB_NAME=db 이름

 

DB_NAME에 따라서도 어떤 DB를 보고 있느냐가 달라지니, local script로 실행하느냐, development script로 실행하느냐 주의깊게 보아야 한다. 

 

왜 이런 실수를 했지 ㅜ