PostgreSQL을 분석 쿼리에서 300배 빠르게: pgrust가 뜯어 보여준 Volcano 모델의 청구서

PostgreSQL을 Rust로 다시 짓는 pgrust가 v0.2에서 분석 쿼리 성능 주장을 들고 나왔고, 저자가 그 성능이 어디서 나왔는지 단계별로 해설한 글이 Hacker News 상위에 올랐습니다. 행 단위 Volcano executor에서 출발해 batching으로 2.7배, operator fusion, SIMD까지 얹어 20초짜리 집계를 135ms로 줄이는 과정입니다. PostgreSQL 자체의 executor를 이해하는 교재로도 좋은 글이라 정리합니다.

2026년 8월 4일

32TB 백업 22시간을 2.8시간으로: PlanetScale의 shard 병렬 PostgreSQL 백업

PlanetScale이 petabyte 규모 PostgreSQL을 시간 단위로 백업하는 구조를 공개했습니다. shard마다 백업 전용 인스턴스를 띄워 병렬로 받고, 복원 시에는 WAL 대부분을 S3 archive에서 replay한 뒤 마지막 몇 분만 primary에서 streaming으로 받는 하이브리드 방식입니다. 32TB가 단일로는 22시간, 8개 shard 병렬로는 2.8시간입니다. Barman과 pgBackRest의 세계에서 온 사람 눈으로 뜯어봅니다.

2026년 8월 2일

failover에서 replication slot은 살아남는가: PostgreSQL 17과 클라우드 3사

Cloud SQL for PostgreSQL이 2026-07-24에 failover slot을 GA로 풀었습니다. 그런데 이건 GCP가 만든 기능이 아니라 PostgreSQL 17 코어 기능이고, AWS와 Azure도 이미 지원합니다. 3사가 같은 기능을 어떤 파라미터 이름으로 노출했는지, 추상화 수준이 어디서 갈리는지 비교했습니다.

2026년 7월 29일

PGSimCity: PostgreSQL 내부를 3D 도시로 걸어 본다

Nikolay Samokhvalov가 공개한 PGSimCity는 PostgreSQL 내부를 탐험 가능한 3D 도시로 보여준다. buffer pool은 창고 지구, WAL은 호박색 물류선, checkpointer는 유지보수 차량이다. 저장소를 직접 클론해 빌드하고 시나리오 13종과 투어 14장을 확인했다.

2026년 7월 29일

vacuum이 미운 날: 다른 엔진은 MVCC 비용을 어디에 숨겼나

PostgreSQL MVCC 비판은 대체로 맞다. 문제는 비교 대상 없이 그 비판만 떠돈다는 것이다. Docker에 PostgreSQL 18을 띄워 write amplification과 bloat를 직접 재보고, Oracle과 InnoDB, SQL Server, WiredTiger, LSM 계열이 같은 비용을 어디로 보냈는지, 엔진별로 그 비용을 확인하는 쿼리는 무엇인지 정리했다.

2026년 7월 28일

record with incorrect prev-link, standby가 archive를 무한 restore하며 멈춘 이유

두 번째 failover 직후 secondary가 같은 WAL 세그먼트를 archive에서 계속 restore하면서 record with incorrect prev-link 로그만 2초 간격으로 반복했다. 이 메시지가 xlogreader의 어디에서 나오는지, timeline 분기와 recycled 세그먼트가 어떻게 얽히는지, pg_auto_failover 환경에서 실제로 어떻게 걷어냈는지 기록한다.

2026년 7월 24일

planner는 통계를 보고 계획을 세운다: pg_statistic과 pg_stats 읽는 법

PostgreSQL planner는 쿼리를 실행해 보지 않고 통계 요약만 보고 실행계획을 정합니다. ANALYZE가 샘플을 떠서 pg_statistic에 채우는 과정, pg_stats의 n_distinct, most_common_vals, histogram_bounds, correlation을 읽는 법, planner가 그 숫자로 row를 추정하는 공식을 공식 문서 기준으로 정리했습니다.

2026년 6월 26일

PostgreSQL은 왜 이건 아직 못 할까: Momjian이 짚은 코어의 빈칸들

Bruce Momjian의 ‘What’s Missing in Postgres?‘를 따라, PostgreSQL이 매년 200개 기능을 더하면서도 끝내 코어에 들이지 못한 빈칸을 짚습니다. sharding, connection pooling, 내장 암호화처럼 ‘당연히 될 것 같은데 안 되는’ 항목들이 왜 비어 있고 지금은 무엇으로 메우는지 하나씩 살펴봅니다.

2026년 6월 26일

PostgreSQL 19, logical replication이 드디어 sequence를 따라간다

PostgreSQL 19부터 logical replication이 sequence 값을 subscriber로 동기화한다. failover 직후 첫 INSERT가 duplicate key로 터지던 오래된 함정이 ALL SEQUENCES 절과 REFRESH SEQUENCES 명령으로 정리됐다. 다만 연속 동기화가 아니라 시점 동기화라서, cutover runbook에 들어갈 자리가 정해져 있다.

2026년 6월 26일

PostgreSQL에도 Vitess가 온다, Supabase가 5억 달러와 함께 푼 Multigres

Supabase가 시리즈 F로 5억 달러를 유치하며 밸류 105억 달러를 찍었다. 같은 발표에서 PostgreSQL 수평 확장 레이어 Multigres를 프리뷰로 공개했는데, Vitess 공동 창시자가 직접 이끄는 proxy 방식이다. 기존 Citus와 어떻게 갈리고, DBA 입장에서 지금 의미가 있을지 따져 본다.

2026년 6월 5일