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일

Azure HorizonDB 공개 프리뷰 — 클라우드 3사가 다시 짓는 PostgreSQL

Microsoft가 Build 2026에서 Azure HorizonDB를 공개 프리뷰로 내놓았다. compute와 storage를 분리한 scale-out 구조에 DiskANN 벡터 검색과 in-database 모델 호출을 얹은, AI 시대를 겨냥한 PostgreSQL 호환 관리형 데이터베이스다. AWS Aurora DSQL·Google AlloyDB와의 3파전 구도와, 기존 Azure Database for PostgreSQL DBA 입장에서의 의미를 정리한다.

2026년 6월 5일

AlloyDB가 AI 에이전트에 문을 열다 — Remote MCP Server GA와 DBA의 통제 지점

Google Cloud가 AlloyDB Remote MCP Server를 정식 출시했다. AI 에이전트가 데이터베이스에 직접 붙는 시대에, DBA는 인증·권한·감사 경계를 어떻게 잡아야 하는지 실무 관점으로 정리한다.

2026년 6월 5일

PostgreSQL 19의 data_checksums — 재시작 없이, 클러스터를 멈추지 않고 켠다

PostgreSQL 19부터 data_checksums를 실행 중인 클러스터에서 재시작 없이 켜고 끌 수 있다. 과거엔 initdb 시점에 고정하거나 클러스터를 멈춰 pg_checksums로 전환해야 했다. 13년 진화사와 함께, 온라인 전환이 즉시 끝나는 일이 아닌 이유를 DBA 관점으로 정리한다.

2026년 6월 5일

pg_stat_statements가 알려주는 모든 것 — DBA가 실제로 봐야 할 컬럼과 해석

pg_stat_statements는 컬럼이 많지만 DBA가 실제로 보는 건 몇 개뿐이다. 느린 쿼리를 찾는 정렬 기준, mean과 total의 차이, I/O 컬럼 읽는 법, 해시 테이블이 가득 찼을 때 일어나는 일, 그리고 리셋 전략까지 실무 관점으로 정리했다.

2026년 6월 5일

File Descriptor — PostgreSQL을 무너뜨리는 OS 한계

연결 풀러 없이 max_connections만 키우면 file descriptor 고갈로 인스턴스 전체가 무너진다. backend 프로세스가 fd를 먹는 구조부터 EMFILE 증상, ulimit·max_files_per_process·PgBouncer 대응까지 한 흐름으로 정리한다.

2026년 6월 5일

암호화된 PostgreSQL은 pgBackRest로 백업될까 — pg_tde 궁합 검증

투명 데이터 암호화 extension인 pg_tde를 켠 클러스터에서 pgBackRest 백업과 복구가 멀쩡히 돌아가는지 검증한 결과를 정리했다. 대부분 투명하게 작동하지만, 암호화 특성 때문에 꺼야 할 설정 몇 가지가 있다.

2026년 6월 5일