오늘은 오라클 클라우드 인스턴스 내에 있는 리눅스(ubuntu)서버에 PostgreSQL을 설치하고,
외부에서 접속할 수 있게 설정하는 방법을 쉽게 정리해 봤어요.
제가 직접 따라 하면서 캡처한 화면과 함께 단계별로 알려드릴게요.
먼저 터미널에서 아래 명령어로 시스템을 최신 상태로 만들어 주세요.
(필수는 아니니까 필요한 경우에만 하셔도 괜찮아요)
sudo apt update && sudo apt upgrade -y
PostgreSQL 설치 전에 서버에 충분한 디스크 용량과 메모리가 확보되어 있는지 꼭 확인해 주세요.
아래 명령어로 현재 남은 디스크 용량을 확인할 수 있어요.
df -h
Use%
컬럼을 보고, 최소 5GB 이상의 여유 공간이 있는지 체크해 주세요.
실제 데이터베이스 운영 때는 데이터 크기와 백업 공간까지 고려해서 더 넉넉한 용량이 필요할 수 있어요.
다음 명령어로 현재 메모리 사용량과 여유 메모리를 확인할 수 있어요.
free -h
PostgreSQL은 최소 1GB 이상의 메모리를 권장하고, 운영 환경에서는 2GB 이상이면 안정적인 성능을 기대할 수 있어요.
만약 서버 리소스가 부족하다면, 가볍게 테스트용으로 작은 규모의 데이터베이스부터 시작하는 걸 추천해요.
PostgreSQL과 기본 유틸리티를 설치해 주세요.
sudo apt install -y postgresql postgresql-contrib
# postgresql : 핵심 서버 패키지
# postgresql-contrib : 추가 유틸리티 모음
설치가 끝나면 자동으로 PostgreSQL 서버가 실행돼요.
아래 명령어로 서비스가 잘 실행 중인지 확인하고, 부팅 시 자동 시작되게 설정해 주세요.
# 상태 확인
sudo systemctl status postgresql
# (만약 실행 중이 아니면) 시작
sudo systemctl start postgresql
# 부팅 시 자동 시작 설정
sudo systemctl enable postgresql
참고! 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 설정 파일을 수정해야 해요.
vi
사용)sudo vi /etc/postgresql/14/main/postgresql.conf
listen_addresses
값을 이렇게 수정해 주세요.중요한 점!
listen_addresses
는 PostgreSQL이 어떤 IP에서 오는 접속을 허용할지 정하는 부분이에요.
listen_addresses = '*'
로 바꿔야 외부 접속을 받을 수 있어요.- #listen_addresses = 'localhost'
+ listen_addresses = '*'
# 60번째 라인쯤 있어요
sudo vi /etc/postgresql/14/main/pg_hba.conf
host all all 0.0.0.0/0 md5
0.0.0.0/0
대신 IP 대역을 넣어 주세요.)sudo systemctl restart postgresql
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
OCI 콘솔에 접속해서 네트워크 → VCN → Security Lists → Ingress Rules에서 TCP 5432 포트를 외부에서 접속할 수 있게 추가해 주세요.
PostgreSQL 기본 계정 postgres
로 접속해 새 사용자와 데이터베이스를 만들어 주세요.
sudo -u postgres psql
-- 비밀번호 설정
\password postgres
-- password 2번 동일하게 입력
-- 새 사용자와 데이터베이스 생성
-- 사용자명과 테이블명 등 식별자를 기본적으로 모두 소문자로 변환해서 저장
-- 대소문자를 구분하려면 사용자명에 반드시 쌍따옴표 사용
CREATE USER 사용자명 WITH PASSWORD '사용자패스워드';
CREATE DATABASE 데이터베이스명 OWNER 사용자명;
-- 종료시
\q
로컬 PC에서 다음 명령어로 접속해 보세요.
psql -h <서버_IP> -U 사용자명(소문자) -d 데이터베이스명(소문자) -p 5432
PostgreSQL 클라이언트가 설치되어 있지 않아도, DBeaver 같은 무료 데이터베이스 관리 툴을 이용해 쉽게 원격 PostgreSQL 서버에 접속할 수 있어요.
Host | 원격 PostgreSQL 서버 IP 또는 도메인 (예: 111.222.111.22) |
Port | 5432 (기본값) |
Database | 접속할 데이터베이스 이름 (예: 위에서 만든 데이터베이스명) |
User name | 접속할 사용자명 (예: 위에서 생성한 사용자명) |
Password | 사용자 비밀번호 |
그 다음부터는 DBeaver나 다른 GUI 클라이언트에서 편하게 쿼리를 작성하거나 데이터베이스 구조를 관리할 수 있어요.
참고! 다른 GUI 클라이언트로는 pgAdmin, TablePlus, DataGrip 등이 있어요.
지금까지 오라클 클라우드 우분투 인스턴스에 PostgreSQL 설치부터 외부 접속까지 쉽게 따라 할 수 있는 방법을 알려드렸어요.
방화벽이나 클라우드 보안 설정도 꼼꼼히 챙겨서 천천히 따라 해 보시고, 블로그에 캡처와 함께 정리해 두면 나중에 큰 도움이 될 거예요!
궁금한 점 있으면 댓글로 남겨 주세요.
다음에도 유용한 서버 관리 팁으로 다시 찾아올게요! 감사합니다! 🎉
[DB] wordpress(워드프레스) 설치를 위한 준비단계 - 리눅스(ubuntu) 서버에 MariaDB(또는 MySQL) 설치 (0) | 2023.06.28 |
---|---|
[mysql] 간단 db접속 권한 부여, 계정 생성, 테이블 생성 및 조회 (0) | 2023.05.23 |
댓글 영역