PostgreSQL 데이터베이스 서버에 외부에서 접속하려면 몇 가지 설정을 변경해야 합니다. 이 과정에는 PostgreSQL 설정 파일을 편집하고 네트워크 설정을 조정하는 작업이 포함됩니다. 다음 단계를 따라 진행하세요:
1. postgresql.conf
파일 편집
- 파일 열기: PostgreSQL 설정 파일인
postgresql.conf
를 열어야 합니다. 이 파일의 위치는 PostgreSQL 버전과 시스템에 따라 다를 수 있지만, 일반적으로 /etc/postgresql/[버전]/main/
디렉토리 안에 있습니다.
sudo nano /etc/postgresql/[버전]/main/postgresql.conf
- 리스닝 주소 설정:
listen_addresses
라인을 찾아 값을 변경합니다. 모든 IP 주소에서 서버가 듣도록 하려면 '*'
로 설정합니다.
listen_addresses = '*'
- 파일 저장 및 닫기: 변경 사항을 저장하고 파일을 닫습니다.
2. pg_hba.conf
파일 편집
- 파일 열기: 클라이언트 인증 설정 파일인
pg_hba.conf
를 엽니다.
sudo nano /etc/postgresql/[버전]/main/pg_hba.conf
-
외부 접속 허용 설정: 파일의 끝에 외부 접속을 허용하는 라인을 추가합니다. 예를 들어, 모든 IP 주소(0.0.0.0/0
)에서의 접속을 허용하려면 다음과 같이 설정할 수 있습니다:
host all all 0.0.0.0/0 md5
이 설정은 모든 사용자(all
)에 대해 모든 데이터베이스(all
)에 대한 모든 IP 주소(0.0.0.0/0
)에서의 접속을 md5
암호화 방식으로 허용한다는 의미입니다.
-
파일 저장 및 닫기: 변경 사항을 저장하고 파일을 닫습니다.
3. PostgreSQL 서비스 재시작
변경 사항을 적용하려면 PostgreSQL 서비스를 재시작해야 합니다.
sudo systemctl restart postgresql
4. 방화벽 설정 (필요한 경우)
외부에서 PostgreSQL 서버에 접속하기 위해서는 네트워크 방화벽 설정이 PostgreSQL의 포트(기본적으로는 5432)를 허용하도록 설정되어 있어야 합니다.
주의사항
- 외부에서의 데이터베이스 접속을 허용하는 것은 보안상의 리스크를 증가시킬 수 있습니다. 가능한 한 접속을 허용하는 IP 주소를 제한하고, 강력한 암호를 사용하는 것이 좋습니다.
- SSL 연결을 사용하여 데이터 전송의 보안을 강화하는 것을 고려해보세요.
- 이 작업은 데이터베이스 서버의 보안 설정에 영향을 미치므로, 신중하게 진행하세요.