오랜만에 데이터를 보려고 들어갔다가 could not fork new process for connection
, server closed the connection unexpectedly this probably means the server terminated abnormally before or while processing the request
에러를 확인했다.
에러 메시지를 기반으로 구글링 해보니까 프로세스 한도 초과, 시스템 과부하 라고 나오길래(참고 : https://p-ido.tistory.com/6) 참고 블로그를 보고 따라해보았다.
일단 user process를 확인해보자.
ulimit -a | grep processes
root로 접속해서 해당 경로의 파일을 수정
cd /etc/security/limits.d
이 에러도 찾아보니 사용자에 할당된 프로세스 갯수를 모두 소진했기 때문에, 계정 전환이 불가능한 상태라고 한다.
(참고 : https://www.skyer9.pe.kr/wordpress/?p=4915,
https://wasking.tistory.com/92) )
/etc/security/limit.conf
에서 아래와 같이 설정해주었다.
(계정이름) soft nproc 65535
(계정이름) hard nproc 65535
설정하고 su - (계정)
으로 접속했더니 다행스럽게도 su: cannot set user id: 자원이 일시적으로 사용 불가능함
이 에러는 해결이 되었다.
그러고 DB를 재기동 하기 위해 stop ➡ start를 순서대로 실행해주었다.
pg_ctl stop -m fast -D (경로)
pg_ctl start -D (경로)
그냥 단순히 DB 서버를 중지했다가 다시 시작한 것이지만 나중에 또
이런 상황이 발생하면 당황하지 않으려고 기록해본다 🙂