본문 바로가기
OS/Linux

Rocky Linux 9에 PostgreSQL 설치

by 천뱅 2025. 4. 11.

 

 

PostgreSQL 설치 및 설정 가이드 (Red Hat 9 / Rocky Linux 9)

 

서버 개발 환경에서 PostgreSQL을 사용하다 보면, 직접 설치하고 외부에서 접근 가능하게 설정해야 할 일이 생깁니다.

이번 글에서는 yum install postgresql-server 명령어를 중심으로, Red Hat 9 / Rocky Linux 9에서 PostgreSQL을 설치하고 기본적인 보안 및 접속 설정까지 완료하는 방법을 단계별로 정리했습니다.

 

1. PostgreSQL 설치

 

Rocky Linux 9는 기본 저장소에 PostgreSQL을 포함하고 있기 때문에 yum 명령어만으로 쉽게 설치할 수 있습니다.

sudo yum install postgresql-server

 

 

혹시 아래와 같은 에러를 만난다면 시스템의 시간이 현재보다 과거로 설정되어서 생긴 에러일 수 있습니다. 

# 만약 아래와 같은 에러를 만난다면 
#Errors during downloading metadata for repository 'baseos':
#  - Curl error (60): SSL peer certificate or SSH remote key was not OK for https://mirrors.rockylinux.org/mirrorlist?arch=aarch64&repo=BaseOS-9 [SSL certificate problem: certificate is not yet valid]

#현재 시스템 시간을 확인
date 

#동기화
sudo systemctl enable --now chronyd
sudo chronyc makestep   # 즉시 동기화

yum install

 

 

2. 데이터베이스 클러스터 초기화

 

설치 후에는 데이터베이스 클러스터를 초기화해야 합니다.

sudo postgresql-setup --initdb

 

initdb

 

 

3. PostgreSQL 서비스 시작 및 부팅 시 자동 실행 등록

# 서비스 시작
sudo systemctl start postgresql

# 부팅 시 자동 시작 등록
sudo systemctl enable postgresql

systemctl

 

4. postgres 사용자 비밀번호 설정

 

PostgreSQL은 기본적으로 postgres라는 유저가 존재합니다. 비밀번호를 설정하기 위해 다음과 같이 진행하세요.

# postgres 사용자로 전환
sudo -i -u postgres

# PostgreSQL 셸 진입
psql

# 비밀번호 설정
ALTER USER postgres WITH PASSWORD 'new1234!';

# 종료
\q

set password

 

5. 외부 접속 허용 설정

fail connection

기본 설정은 로컬 접속만 허용합니다. 외부 IP에서 PostgreSQL에 접속하기 위해 다음 설정이 필요합니다.

 

5-1.  postgresql.conf 설정

sudo vi /var/lib/pgsql/data/postgresql.conf

# linsten_address 를 찾아 아래와 같이 수정
listen_addresses = '*'

postgresql.conf

 

5-2 pg_hba.conf 설정

 

md5는 비밀번호 인증 방식을 의미합니다. trust로 설정하면 인증 없이도 접속할 수 있으므로 보안상 운영 환경에서는 지양합니다.

또한 4번째 인자는 전체 Ip에 대한 허용이므로 접속하는 클라이언트 IP를 넣어주는 걸 권장합니다.

sudo vi /var/lib/pgsql/data/pg_hba.conf

# 마지막에 아래를 추가해준다. 
# 모든 IP 허용 (보안주의)
host    all             all             0.0.0.0/0               md5

hba.conf

 

6. 방화벽 포트 개방

 

PostgreSQL의 기본 포트 5432를 방화벽에서 열어야 외부 접속이 가능합니다.

sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

firewall

 

 

7. PostgreSQL 재시작

 

모든 설정을 반영하려면 PostgreSQL을 재시작해야 합니다.

sudo systemctl restart postgresql

success connection
in dbeaver

 

'OS > Linux' 카테고리의 다른 글

리눅스마스터 - 파일 시스템 관리  (0) 2025.04.16