백엔드/DB

Postgresql에서 5432 port가 열려있냐는 문제(Ubuntu 기준)

작은소행성 2021. 6. 30. 13:55

1. 에러

각종 서비스에서 5432 port가 열려있느냐를 묻는 에러가 발생한다.
django는 이런 식.
Is the server running on host XXX and accepting TCP/IP connections on port 5432?
어쨌든 connection이 안되면 서비스가 실행되는지, port가 열려있는지 확인해보는게 좋다.


2. 확인

1) htop 에서 postgresql이 있는지 본다. 혹은 ps -el.
2) netstat -ntl로 5432가 열려있는지 본다.
3) service postgresql status로 서비스가 active 상태인지 본다.

 


3. 해결방법

1) postgresql이 실행되어 있지 않다.

sudo service postgresql start.

2) 5432 port가 열려있지 않다.

 

/etc/posgresql/VERSION/main/pg_hba.conf  

/var/lib/pgsql/11/data/pg_hba.conf 에서


# IPv4 local connections 아래
  host    all             all             0.0.0.0/0           md5
를 추가(혹은 수정)
- 외부에서 접속하는 경우 방화벽이 막혀있는 경우가 있다. 열어도 되는 서버라면
  iptables -I INPUT 1 -p tcp --dport 5432 -j ACCEPT
  iptables -I OUTPUT 1 -p tcp --dport 5432 -j ACCEPT
AWS EC2는 EC2 콘솔에 가서 열어야 하는 것 같다.


3) 실행도 되어있고 port도 열려있다.

이전 실행에서 비정상적으로 종료된 경우가 가끔 있다.

/var/lib/postgresql/VERSION/main/postmaster.pid

 

/var/lib/pgsql/VERSION/data/postmaster.pid

를 삭제하고 다시 postgresql을 시작한다.

 

 

재시작

sudo systemctl restart postgresql-11

 



4. 기타

1) 로그 위치 : /var/log/postgresql/postgresql-VERSION-main.log

반응형