pg_hba.conf 파일에서 발생한 오류 메시지는 PostgreSQL 서버가 특정 호스트 또는 IP 주소에서 오는 연결을 허용하지 않도록 구성되어 있음을 나타냅니다. pg_hba.conf 파일은 PostgreSQL 서버의 클라이언트 인증 및 접근 제어를 담당합니다. 이 파일을 수정하여 외부에서 pgAdmin을 통해 PostgreSQL 데이터베이스에 접속하려는 경우 필요한 접근 규칙을 추가해야 합니다.
pg_hba.conf
pg_hba.conf 파일 찾기: PostgreSQL 데이터 디렉터리 내에 위치합니다. 윈도우에서는 보통 C:\Program Files\PostgreSQL\<버전>\data\pg_hba.conf 경로에 있습니다. <버전>은 설치된 PostgreSQL의 버전입니다.
C:\Program Files\PostgreSQL\<버전>\data\pg_hba.conf
<버전>
pg_hba.conf 파일 편집: 파일의 끝에 다음과 같은 형식의 라인을 추가하여 외부 접속을 허용합니다. 사용하는 환경에 맞게 <IP 주소>와 <메소드>를 수정하세요.
<IP 주소>
<메소드>
# IPv4 주소용 host all all <IP 주소>/32 <메소드> # IPv6 주소용 host all all ::1/128 <메소드>
여기서 <IP 주소>는 접속을 허용하려는 클라이언트의 IP 주소입니다. 외부에서 접속하는 경우, 클라이언트의 공인 IP 주소를 사용해야 합니다. /32는 단일 IP 주소에 대한 CIDR 표기입니다. <메소드>는 인증 메소드로, 일반적으로 md5, password, scram-sha-256 (PostgreSQL 10 이상에서 지원) 중에서 선택할 수 있습니다.
/32
md5
password
scram-sha-256
모든 외부 IP 주소에서 접속을 허용하려면 <IP 주소>를 0.0.0.0/0으로 설정할 수 있지만, 이는 보안상 위험할 수 있으므로 신중히 고려해야 합니다.
0.0.0.0/0
PostgreSQL 서버 재시작: pg_hba.conf 파일을 수정한 후에는 변경 사항이 적용되도록 PostgreSQL 서버를 재시작해야 합니다. 윈도우에서는 서비스 관리자를 통해 PostgreSQL 서비스를 재시작하거나, 명령 프롬프트에서 다음 명령어를 실행할 수 있습니다:
pg_ctl restart -D "C:\Program Files\PostgreSQL\<버전>\data"
이러한 단계를 완료하면, 외부에서 pgAdmin을 사용하여 PostgreSQL 데이터베이스에 성공적으로 접속할 수 있게 됩니다.