한양과학기술고등학교

에듀테크 프로젝트 대시보드

PostgreSQL 개요

RDBMS MVCC ACID SQL 표준 확장성

PostgreSQL 은 30년 넘게 개발된 오픈소스 관계형 데이터베이스입니다. SQL 표준 준수도가 높고, 확장(extension)으로 기능을 크게 넓힐 수 있습니다.

1. 특징

핵심 성질
  • ACID 트랜잭션 · MVCC 로 읽기가 쓰기를 막지 않음
  • 풍부한 타입 — jsonb, 배열, 범위, uuid, 지리정보(PostGIS)
  • 부분·표현식·GIN/GiST/BRIN 인덱스
  • CTE·윈도우 함수·LATERAL·구체화 뷰 등 고급 SQL
  • 확장: pg_stat_statements, pg_trgm, postgis, pgvector …

2. 버전 정책

메이저 버전은 연 1회(대략 9~10월) 나오고 5년 지원됩니다. 버전 번호는 16.4 처럼 메이저.마이너 — 마이너는 버그·보안 패치만이라 항상 최신으로 올려도 안전합니다.

현재 버전 확인
SELECT version();
SHOW server_version;

3. 언제 쓰나

상황권장
단일 파일·임베디드·간단한 앱SQLite
트랜잭션·동시 쓰기·복잡한 쿼리·데이터 무결성PostgreSQL
읽기 위주 초대형 트래픽 캐시PostgreSQL + Redis 조합

이 서버의 fastapi-school 은 PostgreSQL(asyncpg), fastapi-lms 는 SQLite 를 씁니다 — 용도에 맞춘 선택입니다.

4. 구조 용어

계층
  • 클러스터 — 하나의 서버 인스턴스(포트 하나). initdb 로 생성
  • 데이터베이스 — 클러스터 안의 독립 공간. 다른 DB 끼리는 조인 불가
  • 스키마 — DB 안의 네임스페이스(기본 public)
  • 테이블 / 뷰 / 인덱스 / 시퀀스 — 스키마 안의 객체
"인덱스는 공짜가 아니다 — 읽기를 빠르게 하고 쓰기를 느리게 한다"