카테고리 없음

Postgre 서버 설치 후 접속이 안될 때 확인 할 것

4OurFuture 2025. 2. 18. 10:16
728x90
반응형

텔넷으로 5432 포트까지 연결이 확인되었다면, 방화벽에서 포트가 열려 있지만 PostgreSQL의 원격 접속 설정이 제대로 되지 않았을 가능성이 높습니다.
아래 단계를 따라가며 확인해 보세요.


🔍 1. PostgreSQL 설정 파일 수정 (postgresql.conf)

PostgreSQL이 원격 접속을 허용하도록 설정해야 합니다.
Windows 서버에서 아래 경로로 이동하여 postgresql.conf 파일을 엽니다.

📍 PostgreSQL 설정 파일 위치 (Windows)

 
C:\Program Files\PostgreSQL\<버전>\data\postgresql.conf

<버전> 부분은 설치한 PostgreSQL 버전에 따라 다릅니다.

📌 1-1. listen_addresses 설정 변경

파일을 열고 listen_addresses 설정을 아래와 같이 수정합니다.

listen_addresses = '*'

기본값은 localhost이므로, 원격에서 접속하려면 * 또는 특정 IP(10.248.112.161)를 입력해야 합니다.
변경 후, PostgreSQL 서비스를 재시작해야 적용됩니다.


🔍 2. 원격 접속 허용 (pg_hba.conf)

PostgreSQL의 접근 정책을 설정하는 pg_hba.conf 파일을 수정해야 합니다.

📍 pg_hba.conf 파일 위치 (Windows)

C:\Program Files\PostgreSQL\<버전>\data\pg_hba.conf

📌 2-1. IPv4 원격 접속 허용 추가

파일을 열고 다음 줄을 추가하세요.

host all all 0.0.0.0/0 md5

설명:

  • 0.0.0.0/0 → 모든 IP에서 접속 허용
  • md5 → 비밀번호 인증 사용

보안을 위해 특정 IP만 허용하려면 다음과 같이 수정할 수 있습니다.

host all all 10.248.112.0/24 md5

이는 10.248.112.x 대역에서만 접속을 허용하는 설정입니다.


🔍 3. PostgreSQL 서비스 재시작

위의 설정을 적용하려면 PostgreSQL 서비스를 재시작해야 합니다.
Windows에서 서비스 재시작하는 방법:

  1. Win + R을 눌러 services.msc 입력 후 실행
  2. PostgreSQL 서비스 (postgresql-<버전>-<서비스이름>)를 찾기
  3. 오른쪽 클릭 → 재시작(Restart)

또는, 명령 프롬프트에서 아래 명령어를 실행합니다.

net stop postgresql-x64-<버전> net start postgresql-x64-<버전>

<버전> 부분을 설치된 PostgreSQL 버전에 맞게 수정하세요.


🔍 4. 원격 접속 테스트

이제 다시 원격에서 PostgreSQL에 접속이 되는지 확인합니다.

📌 4-1. psql 명령어로 직접 접속 테스트

원격 클라이언트에서 다음 명령어를 실행하세요.

psql -h 아이피주소 -U <유저명> -d <DB명>

비밀번호 입력 후 연결이 성공하면 설정이 완료된 것입니다! 🎉
실패하면 출력된 오류 메시지를 확인하고 다음 단계를 진행합니다.


🔍 5. Windows 방화벽 설정 확인

5432 포트가 Windows 방화벽에서 열려 있는지 확인해야 합니다.

📌 5-1. Windows 방화벽에서 포트 열기

  1. Windows 검색창에서 "Windows Defender 방화벽" 검색 후 실행
  2. 고급 설정 클릭
  3. 왼쪽에서 인바운드 규칙 선택
  4. 오른쪽에서 새 규칙 클릭
  5. 포트(Port) 선택 후 다음
  6. TCP 선택 & 특정 로컬 포트에 5432 입력다음
  7. 연결 허용(Allow the connection) 선택 후 다음
  8. 도메인, 개인, 공용 체크 후 다음
  9. 이름을 PostgreSQL 5432 등으로 입력 후 마침

📌 5-2. PostgreSQL 프로세스를 방화벽 예외로 추가

  1. Windows 검색창에서 "Windows Defender 방화벽" 실행
  2. 고급 설정 → 인바운드 규칙
  3. 새 규칙 → 프로그램(Program) → 다음
  4. C:\Program Files\PostgreSQL\<버전>\bin\postgres.exe 선택
  5. 연결 허용 → 다음
  6. 도메인, 개인, 공용 체크 후 마침

방화벽 규칙을 적용한 후 다시 psql로 접속을 테스트해 보세요.


최종 점검 체크리스트

PostgreSQL 설정 (postgresql.conf)
접속 허용 설정 (pg_hba.conf)
PostgreSQL 서비스 재시작
원격 접속 테스트 (psql -h 1아이피주소  -U 유저 -d db명)
Windows 방화벽에서 5432 포트 열기

이 방법들을 적용한 후에도 원격 접속이 되지 않는다면 PostgreSQL 로그 (data/pg_log/*.log) 파일을 확인하고 오류 메시지를 공유해 주세요! 🚀

728x90
반응형