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 # 즉시 동기화
2. 데이터베이스 클러스터 초기화
설치 후에는 데이터베이스 클러스터를 초기화해야 합니다.
sudo postgresql-setup --initdb
3. PostgreSQL 서비스 시작 및 부팅 시 자동 실행 등록
# 서비스 시작
sudo systemctl start postgresql
# 부팅 시 자동 시작 등록
sudo systemctl enable postgresql
4. postgres 사용자 비밀번호 설정
PostgreSQL은 기본적으로 postgres라는 유저가 존재합니다. 비밀번호를 설정하기 위해 다음과 같이 진행하세요.
# postgres 사용자로 전환
sudo -i -u postgres
# PostgreSQL 셸 진입
psql
# 비밀번호 설정
ALTER USER postgres WITH PASSWORD 'new1234!';
# 종료
\q
5. 외부 접속 허용 설정
기본 설정은 로컬 접속만 허용합니다. 외부 IP에서 PostgreSQL에 접속하기 위해 다음 설정이 필요합니다.
5-1. postgresql.conf 설정
sudo vi /var/lib/pgsql/data/postgresql.conf
# linsten_address 를 찾아 아래와 같이 수정
listen_addresses = '*'
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
6. 방화벽 포트 개방
PostgreSQL의 기본 포트 5432를 방화벽에서 열어야 외부 접속이 가능합니다.
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
7. PostgreSQL 재시작
모든 설정을 반영하려면 PostgreSQL을 재시작해야 합니다.
sudo systemctl restart postgresql
'OS > Linux' 카테고리의 다른 글
리눅스마스터 - 파일 시스템 관리 (0) | 2025.04.16 |
---|