본문 바로가기
C.W.K.
Stream
Lesson 10 of 10 · published

PostgreSQL의 변화를 따라가기

~12 min · operations, learning

Level 0스키마 새싹
0 XP0/86 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

해마다 9월에 새 주요 버전이 나와

업그레이드를 무서운 사건이 아니라 정기 유지보수로 다뤄. 릴리스 노트는 5분만 훑어도 변화와 호환성 위험을 알려주는 기준이야.

좋은 정보원을 정해 둬

postgresql.org 소식과 Postgres Weekly, Crunchy Data·Cybertec 글, PGCon·PGConf.EU·PGConf.NYC 발표를 따라가. pgsql-general 메일링 리스트와 Discord·Slack에서도 설계자와 사용자가 공개적으로 토론해.

최근 기능 하나를 실제로 써봐

PG 14의 multirange, PG 15의 MERGE, PG 16의 논리 복제 개선, PG 17의 증분 백업, PG 18의 uuidv7()과 가상 생성 열처럼 지난 버전의 기능을 작은 예제로 만져봐. 해시 분할은 CREATE TABLE ... PARTITION BY HASH 같은 작은 예제로 확인하고, pg_upgrade나 pg_dump·pg_restore 경로도 시험해.

Code

버전별 주요 새 기능·text
PG 14 (2021): libpq pipelining, multirange 타입, JSON subscript, range aggregate
PG 15 (2022): MERGE, public schema lockdown, JSON_TABLE, regex_count
PG 16 (2023): standby 에서 logical replication, parallel hash full join, SQL/JSON
PG 17 (2024): 증분 백업, MERGE ... RETURNING, SQL/JSON constructor
PG 18 (2025): uuidv7(), virtual generated 컬럼, libpq 의 OAuth
업그레이드 전에 마이그레이션 참고 사항 확인하기·bash
# 메이저 버전 릴리스 노트 읽기 — breaking change
# https://www.postgresql.org/docs/release/

# In-place 업그레이드엔 pg_upgrade (빠름)
pg_upgrade -b /usr/lib/postgresql/16/bin -B /usr/lib/postgresql/17/bin \
           -d /var/lib/postgresql/16/main -D /var/lib/postgresql/17/main

# 또는 cross-version 깨끗함 위해 pg_dump + restore (느림, 단순)
pg_dump --format=custom mydb > mydb.dump
# 새 PG 설치, 복원
pg_restore -d mydb mydb.dump

External links

Exercise

PG 16-18에서 아직 써 보지 않은 기능 하나를 골라 작은 예제를 작성해. 프로젝트에서 그 기능이 기존 확장 기능, ORM 우회 코드, 앱 쪽 계산을 대신할 수 있는 곳을 찾아.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.