개요
PostgreSQL도 MySQL과 동일하게 기본적으로 localhost 접속만을 허용한다. (사실 거의 대부분의 애플리케이션이 그런 것 같다.)
2023.03.25 - [MySQL/MariaDB] 서버 원격 접속 허용 때와 마찬가지로 PostgreSQL 원격 접속 설정 방법을 정리해 둔다. Ubuntu 20.04 LTS, PostgreSQL 12 버전 기준으로 정리한다.
Listen Address 설정
기본적인 PostgreSQL 파라미터 설정 파일인 postgresql.conf을 변경한다. 경로는 아래와 같다.
/etc/postgresql/<VERSION>/main/postgresql.conf

확인하면 listen_addresses 값이 주석 처리되어 있는 것을 확인할 수 있다. 주석을 해제하고 아래와 같이 설정한다.
listen_addresses = '*'
*로 설정하면 모든 원격 접속을 허용한다.
인증 설정
pg_hba.conf은 host-based authentication의 약자로, HOST, DATABASE, USER, ADDRESS, METHOD 정보로 구성된 인증 관련 설정 파일이다. 경로는 아래와 같다.
/etc/postgresql/<VERSION>/main/pg_hba.conf

원격 접속을 허용할 땐 표시한 줄에서 IP 주소만 변경하거나, 신규 행을 추가하여 설정할 수 있다. 모든 IPv4에 대한 원격 접속을 허용할 때는 다음과 같이 수정한다.
host all all 0.0.0.0 md5
서비스 재시작
설정 파일 변경 후 postgreSQL을 재시작한다.
systemctl restart postgresql
접속 확인
접속 명령어로 정상적으로 접근 가능한지 확인해본다.
psql -U <username> -h <SERVER> -p <PORT>

참고 문서
https://guide-fin.ncloud-docs.com/docs/database-postgresql-postgresqlconsole