TIL/삽질 기록소

[Debug] connection to server on socket /var/run/postgresql/.s.pgsql.5432 에러 해결과정

JoJobum 2022. 8. 9.

에러 상황 

코드상 entity에서 컬럼을 수정하여 EC2 에 올려서 사용하고 있던 Postgres에서 기존의 데이터와 새로운 DB 테이블이 충돌이 나서 테이블을 밀어주고 다시 실행하려고 하는 상황에서 유저 비밀번호를 까먹어서 이를 복구하려고 설정 파일을 건들다가 보니

정확히 어떤 이유인지 모르겠는데 이런 오류를 만나게 되었다.

그냥 postgresql에 접속하려고 하면 저 오류가 무지성으로 나와서 작업을 진행할 수 없었다

 

해결 과정

 

이를 해결하기 위해 스택 오버플로우등 구글링을 통해 얻은 방법들이 많았는데 잘 해결되지 않았고 결국 

Postgresql 을 밀었다가 다시 까는 무식한 방법을 선택했다...

 

하지만 밀고 깔았을 때도 Postgresql은 제대로 돌아가지 않았고

service status postgresql 을 통해 확인했을 때는 

Active( exited ) 으로 제대로 런이 되지 않는 것으로 확인 (아니 착각...) 했다

sudo systemctl status 'postgresql*' 로 확인 하면 제대로 확인할 수 있다

Active (running) 으로 잘 뛰고 있는 것을 확인할 수 있다

 

하지만 당시에는 이유가 어쨌든 제대로 돌지 않았다

제대로 프로그램이 도는지 안 도는지를 확인하기 위해서 

[Mac] 현재 사용하고 있는 Port 조회 및 프로세스 킬 — Registro (tistory.com)

 

[Mac] 현재 사용하고 있는 Port 조회 및 프로세스 킬

nest js 에서 프로젝트 돌릴 때 ctrl + c 로 분명히 종료했는데 프로세스가 살아서 포트를 차지하고 있어서 문제가 발생함 => 강제 종료가 하고 싶다 => losf (list open files) 명령어 사용하여 종료가 필요

lackofwillpower.tistory.com

losf 를 활용하여 포트 조회도 하고 하는데 

뭔가 정상인데 결국 제대로 프로그램이 동작하지 않으니 

 

로그를 확인해야 했다

로그는 보통 /var/log 에 있다 

로그를 봤을 때 저 'trush' ,,, 는 앞서 말한 설정값을 건들다가 trust 를 적으려다가 오타가 난것이였다;;

그리고 postgres 삭제하고 재설치할 때 설정파일까지는 삭제되고 재설치가 되지않았고 오타가 난 설정 값이 살아있었기에

새로 깔린 postgres도 동작하려다가 설정값을 보고 이게 뭐야! 하고 죽어버린 것이였다.

 

 

P.S. 오타로 발생한 엄청 바보같은 일이지만 덕분에 기초적인 디버깅을 배웠다고 생각한다

 

반응형

댓글