PostgreSQL 19, LLM 코드 리뷰가 찾아낸 결함에 출시 11월로 연기

Hacker News15일 전

오픈소스 관계형 데이터베이스 PostgreSQL의 다음 메이저 버전 출시가 미뤄졌다. PostgreSQL 글로벌 개발 그룹은 PostgreSQL 19의 정식 배포 시점을 당초 예상이던 9월 말에서 10월 초에서 11월 중순(19일 전후)으로 옮겼다. 함께 나온 결정이 더 눈에 띄는데, 이미 통합을 마쳤던 주요 기능 8~10개를 이번 버전에서 되돌리고 내년 버전인 PostgreSQL 20으로 넘기기로 한 것이다.

되돌림의 배경으로 지목된 것은 LLM을 활용한 코드 리뷰다. EDB 부사장이자 PostgreSQL 핵심 커미터인 Peter Eisentraut는 일부 기능에 구조적 결함이 있어 베타 기간에 빠르게 고치기 어려웠다고 설명했다. 문제는 그보다 규모 쪽이다. LLM 보조 리뷰가, 예전 같으면 한참 뒤에야 드러났을 자잘한 엣지 케이스 결함을 대량으로 끌어올렸다는 것이다. 과거에는 출시 후 몇 년에 걸쳐 조금씩 버그 수정으로 처리됐을 종류의 문제들이다.

그 결과 개발자 앞에는 수십 건의 결함 보고가 한꺼번에 쌓였다. 건당 평균 수정량이 서너 줄에 불과해도 각 건을 검토하고 처리하는 데 붙는 고정 비용이 만만치 않아 시간이 모자랐다는 것이 Eisentraut의 설명이다.

흥미로운 지점은 품질 기준선이 기능 작성 이후에 올라갔다는 사실이다. PostgreSQL 19의 대형 기능들이 작성되고 커밋되던 시점에는 지금만큼 LLM 리뷰가 유용하지 않았는데, 출시를 앞둔 몇 달 사이 도구의 효용이 커지면서 이미 통과된 코드가 새 기준으로 다시 심사받은 셈이다. 이번 결정이 이른바 '바이브 코딩' 때문은 아니라는 점도 분명히 했다. 대부분의 신규 기능이 작성될 당시에는 그런 방식이 쓰이지 않았다는 것이다.

실제로 빠진 기능 중에는 SQL 표준에 2023년 편입된 SQL Property Graph Queries(SQL/PGQ) 지원이 있다. 노드와 엣지로 연결된 관계를 탐색하는 문법을 다루는 기능인데, 미해결 문제가 남아 구현이 제거됐다. PostgreSQL 기여자인 Tom Lane은 앞서 v19에 이 기능을 실으면 v20까지 고칠 수 없는 버그가 출시 후 발견될 것이라고 경고한 바 있다.

반대로 남는 것도 있다. 디스크 공간 회수에 쓰이는 VACUUM FULL이 테이블 잠금을 유발하는 문제를 피하는 REPACK CONCURRENTLY가 PostgreSQL 19에 포함된다. Eisentraut는 추가 검증을 거친 만큼 이번 릴리스가 매우 견고할 것이라고 본다.

배경을 짚으면, PostgreSQL은 1986년 Michael Stonebraker가 제안한 이후 1994년 Andrew Yu와 Jolly Chen이 질의 언어 POSTQUEL을 SQL로 교체하고 1995년 허용적인 라이선스로 공개·수정 가능하게 만들면서 지금의 이름을 갖게 됐다. 이후 대형 클라우드 사업자들이 이 위에 서비스를 올리고 와이어 호환 분산 시스템이 늘어나면서 전문 개발자 사이에서 가장 널리 쓰이는 데이터베이스가 됐다.

개발자 입장에서 실무 영향은 두 갈래다. 하나는 업그레이드 계획이다. PostgreSQL 19는 11월 중순 이후로 미뤄졌고, 이번에 빠진 기능은 PostgreSQL 20에서 만나게 된다. 다른 하나는 코드 리뷰 파이프라인이다. LLM 리뷰가 결함을 더 빨리, 더 많이 찾아내는 것은 분명 이득이지만, 그 발견을 소화할 사람과 시간이 없으면 릴리스 자체가 밀린다는 것을 이번 사례가 보여준다.

주의할 전제도 있다. Eisentraut는 LLM 보조 코드 리뷰의 성능이 지금 속도로 계속 좋아진다면 이런 상황은 향후 개발 주기에서 자연스럽게 정리될 것이라고 내다봤다. 다시 말해 이번 지연을 도구가 성숙하는 과도기적 현상으로 본다는 뜻이다. 한편 PostgreSQL 20은 원래 신규 기능 없이 버그 수정만 하는 버전이 될 예정이었지만, 이월된 기능을 안고 가게 될 가능성이 커졌다.