PostgreSQL — 데이터베이스 및 서버 운영
최신 도구 가이드 / 데이터베이스 및 서버 운영 / postgresql.html
ACID 트랜잭션과 확장성을 갖춘 대표 오픈소스 관계형 데이터베이스입니다.
기본 정보
| 프로그램 이름 | PostgreSQL (포스트그레스큐엘) |
|---|---|
| 한 줄 소개 | ACID 트랜잭션과 확장성을 갖춘 대표 오픈소스 관계형 데이터베이스입니다. |
| 개발·유지 | PostgreSQL Global Development Group |
| 공식 홈페이지 | https://www.postgresql.org/ |
| 공식 문서 | https://www.postgresql.org/docs/ |
| 공식 다운로드 | https://www.postgresql.org/download/ |
| 지원 운영체제 | Linux, macOS, Windows, FreeBSD 등 |
| 라이선스 | PostgreSQL License (BSD 계열, 상업 이용 가능) |
| 안정 버전 | 18.x 안정 라인 (19 버전 2026-09 베타 공개) — 확인일 2026-10-18 |
| GitHub 저장소 | https://github.com/postgres/postgres |
| 분류 | 데이터베이스 및 서버 운영 (태그: 데이터베이스, RDBMS, SQL, 서버 운영, 오픈소스) |
이 프로그램은 무엇인가?
PostgreSQL(포스트그레스)은 1996년 이후 이어져 온 대표 오픈소스 관계형 데이터베이스입니다. ACID 트랜잭션, 다중 버전 동시성 제어(MVCC), 표준 SQL 준수를 제공하며 JSON·GIS·전문 검색 같은 확장도 함께 갖췄습니다.
웹 서비스 백엔드, 분석 워크로드, 임베디스 배포까지 쓰이며, 라이선스가 관대해 상업 제품에 그대로 내장하는 경우도 많습니다. 서버 운영 시 설정·백업·복구 절차가 핵심 관리 대상입니다.
어떤 문제를 해결하는가?
- ('웹 서비스 운영에서', '안정적인 트랜잭션 저장소가 필요할 때', 'MVCC 기반 동시성으로 다중 사용자 쓰기를 처리합니다.')
- ('데이터 분석에서', '집계·조인·윈도우 함수 같은 SQL 분석이 필요할 때', '표준 SQL과 확장(예: 집계 함수)으로 분석 질의를 수행합니다.')
- ('자체 배포·내장에서', '클라우드 종속 없이 데이터베이스를 직접 운영해야 할 때', '오픈소스라 라이선스 비용 부담 없이 배포할 수 있습니다.')
주요 기능
트랜잭션·MVCC
여러 세션이 충돌 없이 동시 읽기·쓰기
- 활용 상황: 웹 트랜잭션 처리
- 얻는 결과: 데이터 일관성·격리 보장
- 제한 사항: 장기 트랜잭션은 정크 레코드·성능 문제를 만들 수 있습니다.
확장·파티셔닝
확장(예: PostGIS)·테이블 파티셔닝으로 규모 확장
- 활용 상황: 대용량·GIS 데이터
- 얻는 결과: 워크로드에 맞춘 확장 구성
- 제한 사항: 확장·파티셔닝 설계가 잘못되면 유지 부담이 큽니다.
복제·백업
스트리밍 복제·pg_dump 기반 백업
- 활용 상황: 고가용성·재해 복구
- 얻는 결과: 읽기 부하 분산·복구 체계 구축
- 제한 사항: 복구 절차 미검증은 장애 시 치명적입니다.
표준 SQL 준수
표준을 따르는 SQL 구현
- 활용 상황: 이식성
- 얻는 결과: 다른 도구·라이브러리와 호환
- 제한 사항: 비표준 확장 사용 시 이식성 저하.
설치 및 실행
Ubuntu / Debian
저장소 버전 설치 후 서비스를 시작합니다.
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl enable --now postgresql
RHEL / CentOS / Fedora
dnf로 설치합니다.
sudo dnf install postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
macOS / Windows
Homebrew 또는 공식 인스톨러(EDB)를 사용합니다.
brew install postgresql@17 # macOS
# Windows: postgresql.org/download 에서 EDB 인스톨러
실제 사용 예제
psql 접속
postgres 사용자로 접속해 관리 콘솔을 시작합니다.
sudo -u postgres psql
postgres=# \l # 데이터베이스 목록
postgres=# \c mydb # mydb로 연결
테이블 생성·삽입
표준 SQL로 스키마를 정의하고 데이터를 넣습니다.
CREATE TABLE users (id serial PRIMARY KEY, name text);
INSERT INTO users (name) VALUES ('alice') RETURNING id;
복제·백업 상태 확인
복제 지연·백업 결과를 점검합니다.
postgres=# SELECT * FROM pg_stat_wal_receiver;
$ pg_dump mydb | gzip > /backup/mydb.sql.gz
장점과 한계
장점
- 무료·오픈소스(관대한 라이선스)로 상업 이용·재배포 자유
- ACID·MVCC 등 엔터프라이즈급 기능 기본 제공
- 확장 생태계 풍부(JSON·GIS·전문 검색 등)
- 표준 SQL 준수로 이식성·인력 확보가 쉬움
사용 전에 고려할 점
- 초기 설정·튜닝(공유 버퍼·WAL·커넥션 풀) 학습이 필요합니다.
- 대규모 수직 확장보다 수평 확장은 별도 설계(복제·파티셔닝)가 필요합니다.
- 복구 절차 미검증 시 장애 시 데이터 손실 위험이 있습니다.
비슷한 프로그램과 비교
| 프로그램 | 특징 | 이런 경우에 적합 |
|---|---|---|
| MySQL / MariaDB | 웹 중심으로 널리 쓰이는 RDBMS | 웹 트랜잭션·빠른 읽기 중심 |
| SQLite | 임베디스·단일 파일 DB | 서버 없이 앱 내부 저장 |
| Oracle | 엔터프라이즈 상용 DB | 대규모·상용 지원이 필수인 환경 |
공식 자료 및 추가 학습
- 공식 홈페이지 — https://www.postgresql.org/
- 공식 문서 / 지식베이스 — https://www.postgresql.org/docs/
- 공식 다운로드 — https://www.postgresql.org/download/
- 릴리스 노트 — https://www.postgresql.org/docs/release/
- 소스 / 개발 자료 — https://github.com/postgres/postgres
버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.
실제 실행 화면
아래는 사용 흐름을 이해하기 위해 만든 합성 예시 화면입니다(실제 실행 결과 아님). 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

실제 운영 중인 서버
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.