Ubuntu 26.04에 PostgreSQL 설치
Source: Dev.to
개요
PostgreSQL은 확장성, 표준 준수, JSON 및 배열과 같은 고급 데이터 타입 지원으로 유명한 강력한 오픈소스 관계형 데이터베이스입니다. 이 가이드는 공식 PostgreSQL Global Development Group(PGDG) APT 저장소에서 PostgreSQL을 설치하고, 설치를 보안 설정한 뒤, 전용 사용자를 가진 데이터베이스를 생성하는 과정을 안내합니다.
PGDG APT 저장소 추가
-
APT 패키지 인덱스 업데이트
sudo apt update -
PostgreSQL 공통 패키지 설치
sudo apt install postgresql-common -y -
저장소 설정 스크립트 실행
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -
PostgreSQL 설치
sudo apt install postgresql -y -
설치된 버전 확인
psql --version
서비스 활성화 및 관리
# 부팅 시 PostgreSQL 자동 시작 및 지금 바로 시작
sudo systemctl enable postgresql
sudo systemctl start postgresql
# 서비스 상태 확인
sudo systemctl status postgresql
# 필요에 따라 중지하거나 재시작
sudo systemctl stop postgresql
sudo systemctl restart postgresql
설치 보안 강화
postgres 슈퍼유저 비밀번호 설정
sudo -u postgres psql
ALTER USER postgres WITH PASSWORD 'your_strong_password';
\q
애플리케이션 사용자 생성
CREATE USER example_admin WITH PASSWORD 'secure_password';
인증 설정 (pg_hba.conf)
파일을 편집합니다(PostgreSQL 버전에 따라 경로가 다를 수 있음):
sudo nano /etc/postgresql/18/main/pg_hba.conf
로컬 연결에 대한 인증 방식을 peer에서 scram-sha-256으로 변경합니다:
local all postgres scram-sha-256
local all all scram-sha-256
변경 사항을 적용하려면 PostgreSQL을 재시작합니다:
sudo systemctl restart postgresql
애플리케이션 사용자가 소유한 데이터베이스 생성
sudo -u postgres psql
CREATE DATABASE example_store OWNER example_admin;
GRANT ALL PRIVILEGES ON DATABASE example_store TO example_admin;
\q
접근 확인 및 샘플 테이블 생성
psql -U example_admin -d example_store -h localhost
CREATE TABLE products (
product_id SERIAL PRIMARY KEY,
product_name VARCHAR(100) NOT NULL,
category VARCHAR(100),
price NUMERIC(10, 2)
);
INSERT INTO products (product_name, category, price) VALUES
('Widget A', 'Hardware', 9.99),
('Widget B', 'Software', 29.99),
('Widget C', 'Services', 49.99);
SELECT * FROM products;
\q
쿼리 결과에 삽입된 세 행이 표시되어야 하며, 이는 데이터베이스, 사용자 및 테이블이 정상적으로 동작함을 확인하는 것입니다.
다음 단계
- Django나 Rails와 같은 웹 프레임워크에서 데이터베이스 계층으로 PostgreSQL 사용
- 고가용성을 위한 스트리밍 복제 설정
pg_dump와 cron 작업을 이용한 백업 자동화
추가 팁과 보다 상세한 가이드는 Vultr Docs의 원본 글을 참고하세요.