본문 바로가기

troubleshooting

[postrgres]`...postgresql@15.plist' exited with 5

django 프로젝트를 만들며, DB를 postgresql로 사용하고 있었는데 어느날 이런 메시지가 떴다

 

에러 메시지

`/bin/launchctl bootstrap gui/501 /Users/jinjeoh/Library/LaunchAgents/homebrew.mxcl.postgresql@15.plist` exited with 5.

 

에러 원인을 찾아서....

이게 먼고? 하고 바로 구글링을 해봤다. 많은 결과가 나오는게 많은 사람들이 자주 마주한 에러 메시지라는 것을 알 수 있었다. 운영체제는 프로세스를 관리하기 위해 프로세스마다 ID를 배정해 관리하는데, 이것을 PID라고 하고 운영체제는 일정 시간이 지나면 해당 ID를 다른 프로세스에게 할당할 수 있다. 이유는 당연히 그 프로세스를 더이상 사용하지 않는다고 판단했기 때문이지 않을까...?

 

DB처럼 오래 백그라운드에서 실행되고 있는 프로세스인 경우 오래 사용되지 않다가 다시 사용하려고 하면 PID가 꼬일 수 있고, 그래서 내가 해당 DB에 접속하려고 했을때 이런 오류를 내뱉은 것이었다

 

해결 방법

해결 방법은 아주 간단했다. postmaster.pid라는 postgresql의 pid에 대한 파일을 없애주면 되는 것! 없애도 실행시 다시 생성된다고 한다

 

postmaster.pid는 intel mac 기준, /usr/local/varpostgresql@15에 있었다. 이 pid 파일만 잘 삭제해주면 postgresql을 실행했을때 잘 동작한다! 개념적으로만 배웠던 운영체제는 프로세스를 관리해~의 한부분을 본 것 같아 재미있었다