Trawling
발견 출처 Hacker News/발행

Postgres 19 is late, and it's AI's fault

PostgreSQL 19 지연, 커미터 하스는 LLM 버그 탐색이 부담 키웠다고 분석

PostgreSQL 커미터 Robert Haas는 LLM을 이용한 버그 탐색과 제보가 늘어 유지보수 브랜치의 수정 및 사람의 검토 부담이 커졌고, 이 때문에 PostgreSQL 19의 기능 철회와 출시 지연에 영향을 줬다고 분석했습니다. 그가 제시한 커밋 수는 브랜치에 반영된 변경 건수를 가리키며, LLM 유래 제보 건수는 따로 집계하지 않았습니다. 프로젝트는 정식판 공개 목표일을 2026년 11월 19일로 공지했습니다.

본문

PostgreSQL 19의 정식판 공개 목표일은 2026년 11월 19일입니다. PostgreSQL 프로젝트는 6월 4일 첫 베타 안내에서 정식판을 9~10월경 예상했지만, 10월 15일 첫 출시 후보(RC1)를 발표하면서 RC2는 11월 12일, 정식판은 11월 19일로 일정을 제시했습니다. 프로젝트는 11월 정기 업데이트에 많은 수정 사항이 예정돼 있어 그 내용을 PostgreSQL 19에도 반영하기로 했다고 설명했습니다.

PostgreSQL 커미터 Robert Haas는 10월 21일 Neon 블로그에 쓴 글에서 출시 지연과 베타 막바지의 큰 기능 철회를 LLM을 이용한 버그 탐색의 확산과 연결했습니다. 그의 설명에 따르면 LLM을 이용해 결함을 찾은 사람들이 PostgreSQL 버그를 제보하는 일이 늘었고, 커미터들은 새 버전뿐 아니라 이전 버전의 유지보수 브랜치에 들어갈 수정도 처리해야 했습니다.

PostgreSQL 19 베타 4 안내는 9월 24일 SQL/PGQ, UPDATE/DELETE FOR PORTION OF, ALTER TABLE의 MERGE PARTITIONS와 SPLIT PARTITIONS 기능을 철회했다고 밝혔습니다. SQL/PGQ는 SQL 문법으로 그래프 질의를 수행하는 기능이고, FOR PORTION OF는 시간 범위에 해당하는 행을 갱신하거나 삭제하는 기능입니다. MERGE와 SPLIT PARTITIONS는 파티션 테이블의 구성을 합치거나 나누는 명령입니다. Haas는 이 기능들이 8월 27일부터 9월 15일 사이에 철회됐다고 적었습니다.

그가 설명한 일정 압박은 버그를 찾는 일과 수정 내용을 출시에 반영하는 일이 서로 다른 속도로 진행되는 데서 생깁니다. LLM은 결함을 찾거나 수정 초안을 제안할 수 있지만, 초안이 정확한지와 PostgreSQL의 코딩 기준에 맞는지는 사람이 검토하고 커밋해야 합니다. Haas는 결함 수정에 시간이 더 들었고, 정식판에 포함할 새 기능을 검토할 시간이 보안 문제와 이전 버전 브랜치의 버그 수정에 쓰였다고 설명했습니다. 그 결과 베타 막바지에 어떤 기능을 철회할지 판단하는 데도 시간이 걸렸다는 분석입니다.

Haas는 같은 기간의 브랜치 커밋 수를 근거로 유지보수 작업이 늘었다고 봤습니다. 2025년 4월 8일부터 9월 25일까지 REL_18_STABLE에는 724개 커밋이 들어갔고, 2026년 같은 기간 REL_19_STABLE에는 1,169개가 반영됐습니다. 그는 이전 안정 버전 브랜치에서도 2025년 REL_17_STABLE의 248개에서 2026년 REL_18_STABLE의 433개로 커밋 수가 늘었다고 제시했습니다. PostgreSQL 프로젝트는 주요 버전을 5년간 지원하며 정기적으로 버그와 보안 수정을 내놓습니다. 따라서 개발 중인 버전에서 발견된 문제와 기존 지원 버전에 적용할 수정이 동시에 커미터의 시간을 차지할 수 있습니다.

이 수치는 브랜치에 들어간 커밋 수를 비교한 결과입니다. Haas의 글은 LLM이 찾아낸 버그 제보 수나 제보의 품질을 별도로 집계하지 않습니다. LLM 활용자들의 버그 탐색 증가와 커밋 증가를 연결한 설명은 Haas가 제시했습니다. 프로젝트의 10월 15일 일정 안내는 11월 정기 업데이트의 수정 사항을 PostgreSQL 19에 반영하기로 한 점을 일정 배경으로 들었습니다. Haas는 여기에 LLM으로 결함을 찾는 사람이 늘어난 상황과 사람의 검토·수정 부담을 연결해 설명했습니다.

자료: Neon, PostgreSQL / 정리·해설: Trawling

참고 자료