PostgreSQL이란? 초보자를 위한 10분 가이드
PostgreSQL이란 무엇인지, 데이터베이스가 처음이어도 이 한 편으로 큰 그림을 잡을 수 있게 정리했습니다. 웹·앱·분석 업무에서 왜 자주 선택되는지, 테이블·행·열 같은 기본 개념과 SELECT로 데이터를 읽는 맛보기 SQL까지 한 흐름으로 이어집니다. 제목·커버가 약속하는 ‘10분 입문’에 맞춰, 다음으로 공식 문서나 튜토리얼을 열어 볼 자신이 생기도록 구성했습니다.
데이터베이스가 뭔지 잘 모르는 분도 OK. 이 글 하나로 PostgreSQL의 큰 그림을 잡아보세요.
목차
- 데이터베이스가 뭔가요?
- PostgreSQL이란?
- PostgreSQL의 역사 한눈에 보기
- 왜 PostgreSQL을 써야 할까?
- 다른 데이터베이스와 비교
- 핵심 개념 — 테이블, 행, 열
- 기본 SQL 문법 맛보기
- PostgreSQL 설치하기
- 처음 해볼 것들 — 실습 예제
- 다음 단계로 가기 위한 추천 자료
1. 데이터베이스가 뭔가요?
데이터베이스는 쉽게 말해 구조화된 데이터 저장소입니다.
엑셀 시트를 떠올려 보세요. 행과 열로 이루어진 표에 데이터를 저장하고, 원하는 내용을 빠르게 찾을 수 있죠. 데이터베이스도 비슷한 원리입니다. 다만 엑셀보다 훨씬 빠르고, 많은 양의 데이터를 안전하게 다룰 수 있습니다.
- 저장: 회원 정보, 주문 내역, 게시글 등을 체계적으로 보관
- 검색: 수백만 건의 데이터에서 원하는 것을 빠르게 찾기
- 수정 / 삭제: 데이터를 안전하게 업데이트하거나 지우기
2. PostgreSQL이란?
PostgreSQL(포스트그레스큐엘, 줄여서 Postgres)은 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS) 입니다.
관계형이란 데이터를 표(테이블) 형태로 저장하고, 표끼리 관계를 맺어 연결할 수 있다는 뜻입니다.
무료이면서도 기업 수준의 기능을 제공하기 때문에, 스타트업부터 대기업까지 폭넓게 사용됩니다.
3. PostgreSQL의 역사 한눈에 보기
| 연도 | 주요 사건 |
|---|---|
| 1986 | 미국 UC 버클리 대학에서 POSTGRES 프로젝트 시작 |
| 1996 | SQL 지원·이름 정리(요약: Postgres95 등을 거쳐 오늘의 PostgreSQL로) |
| 2000년대 | 오픈소스 커뮤니티 중심으로 빠르게 성장 |
| 현재 | 전 세계에서 가장 인기 있는 오픈소스 DB 중 하나 |
4. 왜 PostgreSQL을 써야 할까?
무료이고 오픈소스
라이선스 비용 없이 상업적으로도 자유롭게 사용할 수 있습니다.
강한 표준 SQL
SQL 표준을 충실히 따르는 편이라, 배워 두면 다른 DB에도 옮겨 적용하기 쉽습니다.
확장성
JSON·배열 등 기본 타입 외에도 확장(extension) 으로 기능을 더할 수 있습니다. 지리 데이터는 PostGIS 같은 확장을 쓰는 경우가 많습니다.
신뢰성과 안정성
ACID 트랜잭션을 지원해 데이터 일관성과 안전성을 기대할 수 있습니다. (개념·문법은 공식 문서의 트랜잭션 튜토리얼을 참고하세요.)
활발한 커뮤니티
문서·튜토리얼·질문 답변이 풍부합니다.
5. 다른 데이터베이스와 비교
| 항목 | PostgreSQL | MySQL | SQLite |
|---|---|---|---|
| 오픈소스 | ✅ | ✅ | ✅ |
| 고급 SQL 기능 | ⭐⭐⭐ | ⭐⭐ | ⭐ |
| JSON 지원 | 강함 | 부분적 | 제한적 |
| 대용량 처리 | 탁월 | 우수 | 소규모 적합 |
| 학습 난이도 | 중간 | 쉬움 | 매우 쉬움 |
| 주요 사용처 | 웹·분석·기업 | 웹 서비스 | 모바일·임베디드 |
비교는 대략적인 성향입니다. 제품 버전과 용도에 따라 달라질 수 있습니다.
6. 핵심 개념 — 테이블, 행, 열
PostgreSQL에서 데이터는 테이블(Table) 에 저장됩니다.
[ users 테이블 ]
id | name | email | age
----|--------|---------------------|----
1 | 홍길동 | hong@example.com | 28
2 | 김영희 | kim@example.com | 34
3 | 이철수 | lee@example.com | 22
- 테이블(Table): 데이터를 담는 표 전체
- 행(Row): 하나의 레코드 (예: 사용자 1명)
- 열(Column): 속성 (예: 이름, 이메일)
- 기본키(Primary Key): 각 행을 유일하게 구별하는 값 (예:
id)
7. 기본 SQL 문법 맛보기
PostgreSQL은 SQL(Structured Query Language) 로 데이터를 다룹니다.
데이터 조회 (SELECT)
-- users 테이블의 모든 행
SELECT * FROM users;
-- 이름과 이메일만
SELECT name, email FROM users;
-- 나이가 30 이상만
SELECT * FROM users WHERE age >= 30;
데이터 추가 (INSERT)
INSERT INTO users (name, email, age)
VALUES ('박민준', 'park@example.com', 25);
데이터 수정 (UPDATE)
UPDATE users
SET age = 29
WHERE name = '홍길동';
데이터 삭제 (DELETE)
DELETE FROM users
WHERE id = 3;
8. PostgreSQL 설치하기
macOS
brew install postgresql@16
brew services start postgresql@16
Windows
- PostgreSQL Windows 다운로드에서 설치 파일 받기
- 설치 마법사를 기본에 가깝게 진행
- EDB 등에서 제공하는 설치 프로그램을 쓰는 경우가 많고, 그때 pgAdmin(GUI)을 함께 넣을 수 있는 옵션이 흔합니다(선택 항목일 수 있음).
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql
배포판 기본 저장소의 패키지 버전이 낮을 수 있습니다. 최신 메이저 버전은 Linux용 다운로드(우분투·PGDG) 안내를 참고하세요.
설치 확인
psql --version
# 예: psql (PostgreSQL) 16.x
9. 처음 해볼 것들 — 실습 예제
데이터베이스와 테이블 만들기
CREATE DATABASE myapp;
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
age INT,
created_at TIMESTAMP DEFAULT NOW()
);
INSERT INTO users (name, email, age)
VALUES
('홍길동', 'hong@example.com', 28),
('김영희', 'kim@example.com', 34);
SELECT * FROM users;
팁:
SERIAL은 자동으로 증가하는 정수id를 만듭니다. id를 직접 넣지 않아도 됩니다. PostgreSQL 10 이후에는 표준 SQL 스타일의GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY도 많이 쓰입니다.SERIAL과IDENTITY의 차이는 공식 문서의 수치형 타입 절을 보세요.
10. 다음 단계로 가기 위한 추천 자료
공식 문서
- PostgreSQL 공식 문서 — 가장 정확한 레퍼런스(버전은
current권장)
온라인 연습
- pgExercises — 브라우저에서 SQL 연습
- SQLZoo — 인터랙티브 튜토리얼
GUI 도구
- pgAdmin — 공식 GUI
- DBeaver — 여러 DB를 지원하는 무료 클라이언트
- TablePlus — 깔끔한 UI(유료/무료 플랜)
이어서 공부할 개념
- JOIN — 여러 테이블 연결
- 인덱스(Index) — 검색 속도
- 트랜잭션(Transaction) — 안전한 읽기/쓰기
- 뷰(View) — 자주 쓰는 쿼리 저장
참고 (공식 문서)
이 글의 기술 주장을 짚을 때 참고한 문서입니다.
- What is PostgreSQL?
- A Brief History of PostgreSQL
- Data Types
- Transactions
- Numeric Types /
SERIAL - macOS 다운로드
- Windows 다운로드
- Linux (Ubuntu)
이 가이드가 PostgreSQL의 첫걸음이 되길 바랍니다. 막히는 부분은 공식 문서와 커뮤니티를 함께 보면 좋습니다.