상세 컨텐츠

본문 제목

[PostgreSQL] 리눅스 서버에 설치하고 외부 접속까지 쉽게 따라하기!!

develop/database

by devcon 2025. 5. 24. 00:40

본문

반응형

안녕하세요! 😊

오늘은 오라클 클라우드 인스턴스 내에 있는 리눅스(ubuntu)서버에 PostgreSQL을 설치하고,

외부에서 접속할 수 있게 설정하는 방법을 쉽게 정리해 봤어요.
제가 직접 따라 하면서 캡처한 화면과 함께 단계별로 알려드릴게요.

 

1단계. 시스템 업데이트

먼저 터미널에서 아래 명령어로 시스템을 최신 상태로 만들어 주세요.

(필수는 아니니까 필요한 경우에만 하셔도 괜찮아요)

sudo apt update && sudo apt upgrade -y

설치 전! 서버 용량과 메모리 상태 미리 확인하기

PostgreSQL 설치 전에 서버에 충분한 디스크 용량과 메모리가 확보되어 있는지 꼭 확인해 주세요.

1. 디스크 용량 확인

아래 명령어로 현재 남은 디스크 용량을 확인할 수 있어요.

df -h

Use% 컬럼을 보고, 최소 5GB 이상의 여유 공간이 있는지 체크해 주세요.
실제 데이터베이스 운영 때는 데이터 크기와 백업 공간까지 고려해서 더 넉넉한 용량이 필요할 수 있어요.

2. 메모리 상태 확인

다음 명령어로 현재 메모리 사용량과 여유 메모리를 확인할 수 있어요.

free -h

PostgreSQL은 최소 1GB 이상의 메모리를 권장하고, 운영 환경에서는 2GB 이상이면 안정적인 성능을 기대할 수 있어요.

3. PostgreSQL 권장 사양 간단 정리

  • 디스크 공간: 최소 5GB 이상 권장 (운영 데이터에 따라 더 필요할 수 있어요)
  • 메모리: 최소 1GB 이상, 2GB 이상이면 더 좋아요
  • CPU: 1~2코어 이상 권장 (클라우드 인스턴스 기준)

만약 서버 리소스가 부족하다면, 가볍게 테스트용으로 작은 규모의 데이터베이스부터 시작하는 걸 추천해요.


 

2단계. PostgreSQL 설치

PostgreSQL과 기본 유틸리티를 설치해 주세요.

sudo apt install -y postgresql postgresql-contrib

# postgresql : 핵심 서버 패키지
# postgresql-contrib : 추가 유틸리티 모음

설치가 끝나면 자동으로 PostgreSQL 서버가 실행돼요.

 

3단계. PostgreSQL 서비스 상태 확인 및 자동 시작 설정

아래 명령어로 서비스가 잘 실행 중인지 확인하고, 부팅 시 자동 시작되게 설정해 주세요.

# 상태 확인
sudo systemctl status postgresql

# (만약 실행 중이 아니면) 시작
sudo systemctl start postgresql

# 부팅 시 자동 시작 설정
sudo systemctl enable postgresql
반응형

4단계. 외부 접속 허용 설정

참고! PostgreSQL 설정 파일(postgresql.conf) 경로는 설치된 버전에 따라 달라질 수 있어요. 아래 명령어로 현재 설치된 PostgreSQL 버전과 설정 파일 위치를 쉽게 확인할 수 있어요.

# 필요하면 root 디렉토리로 이동 후 실행
# cd /

sudo -u postgres psql -c "SHOW config_file;"

명령어를 실행하면 실제 postgresql.conf 파일의 전체 경로가 나와요. 예를 들면 /etc/postgresql/14/main/postgresql.conf 같은 식으로요.

이 경로를 참고해서 파일을 열고 편집하면 돼요.

예를 들어, vi 편집기로 열려면 이렇게 입력하세요.

sudo vi /etc/postgresql/14/main/postgresql.conf

원격에서 접속하려면 PostgreSQL 설정 파일을 수정해야 해요.

  1. 설정 파일 열기 (vi 사용)
    sudo vi /etc/postgresql/14/main/postgresql.conf
  2. listen_addresses 값을 이렇게 수정해 주세요.

중요한 점!

listen_addresses는 PostgreSQL이 어떤 IP에서 오는 접속을 허용할지 정하는 부분이에요.

    • 기본값은 'localhost'로 되어 있어서 서버 내부에서만 접속을 허용해요.
    • 만약 서버 안에서만 데이터베이스를 사용한다면, 바꿀 필요 없어요.
    • 하지만, mac이나 windows 같은 외부 PC에서 DB 툴로 접속하려면, 이렇게 listen_addresses = '*'로 바꿔야 외부 접속을 받을 수 있어요.

- #listen_addresses = 'localhost'
+ listen_addresses = '*'

# 60번째 라인쯤 있어요

 



  1. 접근 제어 설정 파일 수정
    sudo vi /etc/postgresql/14/main/pg_hba.conf
  2. 맨 아래에 아래 줄을 추가해서 원격 접속을 허용해 주세요.
    host all all 0.0.0.0/0 md5
    (특정 IP만 허용하려면 0.0.0.0/0 대신 IP 대역을 넣어 주세요.)
  3. 변경 후에는 PostgreSQL을 재시작해 주세요.
    sudo systemctl restart postgresql
728x90

5단계. 방화벽 설정(UFW)

Ubuntu 기본 방화벽에서 PostgreSQL 포트 5432를 허용해 주세요.

# UFW가 없으면 설치가 필요해요
# sudo apt install -y ufw

# SSH(22)와 PostgreSQL(5432) 포트 허용
sudo ufw allow OpenSSH
sudo ufw allow 5432/tcp

# UFW 활성화
sudo ufw enable

# 설정 확인
sudo ufw status

 

6단계. 오라클 클라우드 보안 목록 설정

OCI 콘솔에 접속해서 네트워크 → VCN → Security Lists → Ingress Rules에서 TCP 5432 포트를 외부에서 접속할 수 있게 추가해 주세요.

 

7단계. 사용자 및 데이터베이스 생성

PostgreSQL 기본 계정 postgres로 접속해 새 사용자와 데이터베이스를 만들어 주세요.

sudo -u postgres psql

-- 비밀번호 설정
\password postgres
-- password 2번 동일하게 입력


-- 새 사용자와 데이터베이스 생성
-- 사용자명과 테이블명 등 식별자를 기본적으로 모두 소문자로 변환해서 저장
-- 대소문자를 구분하려면 사용자명에 반드시 쌍따옴표 사용
CREATE USER 사용자명 WITH PASSWORD '사용자패스워드';
CREATE DATABASE 데이터베이스명 OWNER 사용자명;

-- 종료시
\q

 

8-1단계. 원격 접속 테스트 (로컬 PC에 PostgreSQL 클라이언트가 설치된 경우)

로컬 PC에서 다음 명령어로 접속해 보세요.

psql -h <서버_IP> -U 사용자명(소문자) -d 데이터베이스명(소문자) -p 5432

8-2단계. 원격 접속 테스트 (DBeaver 등 GUI 클라이언트 사용하기)

PostgreSQL 클라이언트가 설치되어 있지 않아도, DBeaver 같은 무료 데이터베이스 관리 툴을 이용해 쉽게 원격 PostgreSQL 서버에 접속할 수 있어요.

1. DBeaver 다운로드 및 설치

2. 새 데이터베이스 연결 만들기

  • 왼쪽 상단에 있는 New Database Connection 버튼을 클릭하세요.
  • 목록에서 PostgreSQL을 선택하고 Next를 누르세요.

3. 접속 정보 입력

Host 원격 PostgreSQL 서버 IP 또는 도메인 (예: 111.222.111.22)
Port 5432 (기본값)
Database 접속할 데이터베이스 이름 (예: 위에서 만든 데이터베이스명)
User name 접속할 사용자명 (예: 위에서 생성한 사용자명)
Password 사용자 비밀번호

4. 연결 테스트 및 완료

  • Test Connection 버튼을 눌러 접속이 잘 되는지 확인해 보세요.
  • 성공하면 Finish를 눌러 연결을 저장해 주세요.

그 다음부터는 DBeaver나 다른 GUI 클라이언트에서 편하게 쿼리를 작성하거나 데이터베이스 구조를 관리할 수 있어요.

참고! 다른 GUI 클라이언트로는 pgAdmin, TablePlus, DataGrip 등이 있어요.

 

마치며

지금까지 오라클 클라우드 우분투 인스턴스에 PostgreSQL 설치부터 외부 접속까지 쉽게 따라 할 수 있는 방법을 알려드렸어요.
방화벽이나 클라우드 보안 설정도 꼼꼼히 챙겨서 천천히 따라 해 보시고, 블로그에 캡처와 함께 정리해 두면 나중에 큰 도움이 될 거예요!

궁금한 점 있으면 댓글로 남겨 주세요.
다음에도 유용한 서버 관리 팁으로 다시 찾아올게요! 감사합니다! 🎉

728x90
반응형

관련글 더보기

댓글 영역