メインコンテンツまでスキップ

PostgreSQL 포트 변경

개요

본 문서는 무해화 제품에서 사용하는 PostgreSQL 기본 포트(5432) 를 고객사 정책에 맞게 변경하는 방법을 안내합니다.

PostgreSQL 포트를 변경하면, DB에 접속하는 영향 서비스의 설정 파일에도 변경된 포트가 반영되어야 합니다.


기본 정보

항목
기본 포트5432
변경 예시15432
대상 서비스PostgreSQL
영향 서비스Apache Tomcat 10.1 CDR_SERVICE_UPLOAD
Apache Tomcat 10.1 CDR_SERVICE_API
Apache Tomcat 9.0 CDR_WEBCONSOLE
제품 기본 DB 설정 파일 경로E:\softcamp\DB\PostgreSQL\data\postgresql.conf
서비스 설정 파일 경로E:\softcamp\sanitrans\sanitrans\config\cdrbroker.properties
E:\softcamp\sanitrans\sanitrans\config\WebConsoleApi.properties

포트 변경 절차

1단계: PostgreSQL 설정 파일 수정

설정 파일 경로: E:\softcamp\DB\PostgreSQL\data\postgresql.conf

DB가 별도 서버(리눅스)인 경우

DB 서비스가 별도 리눅스 서버에 구축된 경우에도 동일하게 설치 경로(데이터 디렉터리) 아래의 postgresql.conf 를 수정하면 됩니다.

// 일반적으로 postgresql.conf는 $PGDATA(데이터 디렉터리) 하위에 위치합니다.
// 예: /var/lib/pgsql/data/postgresql.conf 또는 /var/lib/postgresql/<version>/main/postgresql.conf

변경 항목

60번 라인 근처의 다음 항목을 변경합니다.

# PostgreSQL 서버 포트
port = 5432

변경 예시:

# PostgreSQL 서버 포트
port = 15432

2단계: PostgreSQL 서비스 재시작

설정 파일 저장 후 PostgreSQL 서비스를 재시작합니다.

  • Windows 서비스 관리자(services.msc)에서 PostgreSQL 서비스를 재시작

또는 (환경에 맞게) PowerShell에서 재시작할 수 있습니다.

# PowerShell 관리자 권한으로 실행
# NOTE: 서비스 이름은 설치 환경에 따라 다를 수 있습니다.
Get-Service | Where-Object { $_.DisplayName -like "*PostgreSQL*" }

# 예시(서비스 이름 확인 후 사용)
# Restart-Service "postgresql-x64-16"
// PostgreSQL 포트 변경은 재시작 전에는 반영되지 않습니다.

DB가 별도 서버(리눅스)인 경우

리눅스 서버에서는 postgresql.conf 수정 후 PostgreSQL 서비스를 재시작합니다(배포판/설치 방식에 따라 서비스명이 다를 수 있습니다).

# systemd 기반(예시) - 환경에 맞게 사용
# sudo systemctl restart postgresql
# sudo systemctl restart postgresql-16
# sudo systemctl restart postgresql@16-main

# 상태 확인
# sudo systemctl status postgresql

3단계: 영향 서비스 설정 파일 수정

PostgreSQL 포트를 변경하면, DB에 접속하는 서비스 설정에도 동일한 포트가 반영되어야 합니다.

3-1) CDR_SERVICE_UPLOAD / CDR_SERVICE_API: cdrbroker.properties

설정 파일 경로: E:\softcamp\sanitrans\sanitrans\config\cdrbroker.properties

postgresql.port가 포트 설정입니다.

  • postgresql.port존재하면 값만 변경
  • postgresql.port없으면 신규로 추가 후 변경한 포트를 입력

예시:

# PostgreSQL 포트 설정
postgresql.port=15432

3-2) CDR_WEBCONSOLE: WebConsoleApi.properties

설정 파일 경로: E:\softcamp\sanitrans\sanitrans\config\WebConsoleApi.properties

dbserver.port가 포트 설정입니다.

  • dbserver.port존재하면 값만 변경
  • dbserver.port없으면 신규로 추가 후 변경한 포트를 입력

예시:

# PostgreSQL 포트 설정
dbserver.port=15432

4단계: 영향 서비스 재시작

설정 파일 저장 후 다음 순서대로 서비스를 재시작합니다:

  1. Apache Tomcat 10.1 CDR_SERVICE_UPLOAD
  2. Apache Tomcat 10.1 CDR_SERVICE_API
  3. Apache Tomcat 9.0 CDR_WEBCONSOLE

Windows 서비스 재시작 방법

# PowerShell 관리자 권한으로 실행
Restart-Service "Apache Tomcat 10.1 CDR_SERVICE_UPLOAD"
Restart-Service "Apache Tomcat 10.1 CDR_SERVICE_API"
Restart-Service "Apache Tomcat 9.0 CDR_WEBCONSOLE"

또는 Windows 서비스 관리자(services.msc)에서 순차적으로 재시작합니다.


설정 검증

정상 동작 확인

  1. 모든 서비스가 정상적으로 시작되었는지 확인
  2. 무해화 테스트 수행
  3. 모니터링 로그 확인

포트 리스닝 확인(선택)

# 변경한 포트(예: 15432) 리스닝 여부 확인
netstat -ano | findstr :15432

주의 사항

설정이 반영되지 않았을 때의 증상(중요)

PostgreSQL 포트를 변경했는데 서비스 설정 파일(cdrbroker.properties, WebConsoleApi.properties)에 포트가 반영되지 않으면, 다음과 같은 DB 연결 실패 로그가 발생할 수 있습니다.

로그 확인 경로: E:\log\cdrApiService\cdrApiService.log

에러 로그 예시:

2026-02-11 14:46:47.252 ERROR [                  main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.
org.postgresql.util.PSQLException: Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

원인:

  • PostgreSQL은 변경된 포트로 동작 중인데
  • 영향 서비스가 여전히 기본 포트 5432로 접속을 시도하여 연결이 거부됨

해결 방법:

  1. cdrbroker.propertiespostgresql.port가 변경된 포트로 설정되었는지 확인
  2. WebConsoleApi.propertiesdbserver.port가 변경된 포트로 설정되었는지 확인
  3. 영향 서비스(UPLOAD → API → WEBCONSOLE) 순서로 재시작

참고 사항

  • 포트 변경 작업은 시스템 부하가 적은 시간대에 수행 권장
  • 변경 전 현재 설정 백업 권장
  • 방화벽 설정이 있는 경우, 신규 포트에 대한 방화벽 규칙 추가 필요
  • 다른 애플리케이션이 해당 포트를 사용하고 있지 않은지 사전 확인