블로그로 돌아가기
1월 27, 2026가이드

Linux 서버에 PostgreSQL 설치하는 방법

Ubuntu 및 CentOS에서 PostgreSQL 데이터베이스 서버 설치, 구성 및 보안 설정에 대한 완전한 가이드.

Linux 서버에 PostgreSQL 설치하는 방법

PostgreSQL은 신뢰성, 기능의 풍부함 및 표준 준수로 유명한 강력한 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 이 가이드는 Hiddence Linux 서버에 PostgreSQL을 설치하고 구성하는 데 도움이 됩니다.

Ubuntu/Debian에 PostgreSQL 설치

PostgreSQL은 기본 저장소에서 사용할 수 있습니다. 최신 버전을 설치하세요:

bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y

# PostgreSQL 시작 및 활성화
sudo systemctl start postgresql
sudo systemctl enable postgresql

# 설치 확인
sudo systemctl status postgresql
psql --version

RHEL / CentOS / AlmaLinux / Rocky Linux에 PostgreSQL 설치

RHEL 기반 배포판의 경우 먼저 PostgreSQL 저장소를 추가해야 합니다:

bash
# PostgreSQL 저장소 설치
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# CentOS 8/Rocky Linux 8의 경우 다음을 사용:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# PostgreSQL 설치
sudo dnf install -y postgresql15-server postgresql15

# 데이터베이스 초기화
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# PostgreSQL 시작 및 활성화
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# 설치 확인
sudo systemctl status postgresql-15
psql --version

설치 확인

bash
# PostgreSQL 상태 확인
sudo systemctl status postgresql

# PostgreSQL 버전 확인
psql --version

# PostgreSQL에 연결 (Ubuntu/Debian)
sudo -u postgres psql

# PostgreSQL에 연결 (CentOS/RHEL)
sudo -u postgres psql -d postgres

PostgreSQL 보안 설정

postgres 사용자에 대한 비밀번호를 설정하세요:

bash
# PostgreSQL에 연결
sudo -u postgres psql

# postgres 사용자 비밀번호 설정
ALTER USER postgres PASSWORD '강력한_비밀번호';

# PostgreSQL 종료
\q

데이터베이스 및 사용자 생성

bash
# postgres 사용자로 연결
sudo -u postgres psql

# 데이터베이스 생성
CREATE DATABASE myapp_db;

# 사용자 생성
CREATE USER app_user WITH PASSWORD '강력한_비밀번호';

# 권한 부여
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# 종료
\q

사용자 관리

bash
# PostgreSQL에 연결
sudo -u postgres psql

# 모든 사용자 나열
\du

# 새 사용자 생성
CREATE USER newuser WITH PASSWORD '비밀번호';

# 권한 부여
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# 권한 취소
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# 사용자 삭제
DROP USER newuser;

원격 연결 활성화

원격 연결을 허용하려면 PostgreSQL 구성 파일을 편집하세요:

bash
# pg_hba.conf 편집 (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# pg_hba.conf 편집 (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# 다음 줄 추가:
host    all             all             0.0.0.0/0               md5

# postgresql.conf 편집 (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# postgresql.conf 편집 (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# 변경:
listen_addresses = '*'

# PostgreSQL 재시작
sudo systemctl restart postgresql

기본 PostgreSQL 명령

bash
# 데이터베이스에 연결
psql -U app_user -d myapp_db

# 데이터베이스 나열
\l

# 데이터베이스에 연결
\c database_name

# 테이블 나열
\dt

# 테이블 설명
\d table_name

# SQL 파일 실행
psql -U app_user -d myapp_db -f script.sql

# 데이터베이스 백업
pg_dump -U app_user myapp_db > backup.sql

# 데이터베이스 복원
psql -U app_user -d myapp_db < backup.sql

유용한 팁

  • 데이터베이스 사용자에 대해 항상 강력한 비밀번호를 사용하세요
  • pg_hba.conf에서 특정 IP 주소로 원격 액세스를 제한하세요
  • pg_dump를 사용하여 데이터베이스를 정기적으로 백업하세요
  • PostgreSQL 로그 모니터링: /var/log/postgresql/ (Ubuntu) 또는 /var/lib/pgsql/15/data/log/ (CentOS)
  • 높은 트래픽 애플리케이션에 연결 풀링(pgBouncer)을 사용하세요
  • 보안 패치를 위해 PostgreSQL을 최신 안정 버전으로 업데이트하세요