[PostgreSQL] 외부 접속 허용 설정

외부 접속 허용 설정

1. 사용자 비밀번호 설정

외부에서 접속하기 위해선 우선 postgres 비밀번호를 설정해야 합니다.

postgres 계정으로 접속합니다.

1
$ su - postgres psql
1
2
3
4
5
# 비밀번호 설정
\password postgres

# 종료
\q

2. 방화벽 개방

방화벽에서 5432 포트를 개방합니다.

1
2
$ firewall-cmd --permanent --zone=public --add-port=5432/tcp
$ firewall-cmd --reload

3. 설정 파일 변경

postgresql 접속 후 Data 디렉터리 확인을 할 수 있습니다.

1
2
$ show data_directory;
-> /var/lib/pgsql/11/data

postgresql.conf 설정 파일을 엽니다.

1
$ vi /var/lib/pgsql/11/data/postgresql.conf

설정 파일에서 다음과 같이 변경합니다.

1
2
# listen_addresses = 'localhost' -> 주석으로 되어있음
listen_addresses = '*'

4. 보안 설정 변경

외부 접속을 위해 보안 설정을 변경합니다.

root 계정으로 복귀합니다.

1
$ su - root

설정 파일을 엽니다.

1
$ vi /var/lib/pgsql/11/data/pg_hba.conf

설정 정보를 다음과 같이 변경합니다.

1
2
3
local all all peer => local all all md5
host all all 127.0.0.1/32 ident => host all all 0.0.0.0/0 md5
host all all ::1/128 ident => host all all ::1/128 md5
  • md5 : 패스워드를 md5로 암호화해서 전송

5. 서비스 재시작

1
$ sudo systemctl restart postgresql-11

참고

아래 링크에서는 pg_hba.conf를 수정하지 않고 접근제어를 할 수 있도록 하는 방법이 설명되어 있는데 테스트해보진 않았습니다.

Share