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

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에서
# 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를 삭제하고 다시 postgresql을 시작한다.

4. 기타

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

이 블로그의 인기 게시물

Linux screen 명령어 정리

vue에서 v-html에 포함된 class의 css가 적용되지 않는 경우