PostgreSQL을 설치하면 기본적으로 외부 서버에서 접속할 수 없기 때문에, config 파일들을 수정해주어야 한다.
개발환경은 WSL2 + ubuntu18.04 이다.
우선 다음 명령어로 Ubuntu에서 열려있는 포트를 확인한다.
netstat -nltp
postgres의 기본 포트는 5432이다.
위 결과처럼 127.0.0.1:5432로 되어 있다면 5432포트는 내부에서만 접속할 수 있다는 뜻이다.
postgresql.conf파일 수정
Postgres 설정을 변경하려면 postgresql.conf에서 변경해 줘야 한다.
먼저 다음 명령어로 postgresql.conf 파일을 vim 편집기로 변경해준다.
sudo vim /etc/postgresql/10/main/postgresql.conf
(postgresql.conf 파일의 경로는 리눅스의 경우 /etc/postgresql/{자신의 postgres 버전}/main/postgresql.conf 에 위치한다.
파일에 접속하면 listen_addresses가 localhost로 설정되어 있을 것이다.
이를 *로 바꿔 외부 서버 어디서든 접근할 수 있도록 설정한다.
postgresql을 재시작하고, netstat -nltp을 사용해 포트를 확인해본다.
sudo /etc/init.d/postgresql restart
5432포트가 0.0.0.0:5432로 되어있는 것을 확인할 수 있으며 이는 외부에서 접속이 가능하다는 뜻이다.
pg_hba.conf 파일 수정
다음으론 pg_hba.conf 파일을 수정해주자.
다음 명령어로 vim 편집기로 접속한다.
sudo vim /etc/postgresql/10/main/pg_hba.conf
IPv4 local connections 부분에서 127.0.0.1/32 로 되어있는 부분을 0.0.0.0/0으로 수정해주자.
위 사진과 같이 수정했다면, 저장하고 나온다.
sudo /etc/init.d/postgresql restart
postgresql을 재시작하면, 이제 외부에서도 접속이 가능할 것이다.
reference