1월 27, 2026가이드
Linux 서버에 PostgreSQL 설치하는 방법
Ubuntu 및 CentOS에서 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 --versionRHEL / 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 postgresPostgreSQL 보안 설정
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을 최신 안정 버전으로 업데이트하세요