Pulse 게시 ·

pglifecycle 2.0 베타 공개…PostgreSQL 스키마를 YAML로 관리

PostgreSQL 스키마 관리 도구 pglifecycle 2.0 베타가 공개됐다. 객체별 YAML 파일로 스키마를 버전 관리하고, 실제 DB와 비교해 배포할 DDL을 생성한다. 파괴적 변경은 명시적으로 허용해야 포함되며, GitHub Action은 변경을 적용하지 않고 PR에 배포 계획을 게시한다. 2.0은 기존 도구를 Rust로 다시 구현했다.

내용·출처 업데이트 · 2026. 10. 14. 오후 8:01

테이블·뷰·함수·역할 등 객체마다 별도 YAML 파일을 두며, 기존 데이터베이스를 스키마 프로젝트로 가져올 수 있다.

프로젝트를 pg_restore용 아카이브로 빌드하거나 실제 데이터베이스와 비교해 상태를 일치시키는 DDL을 생성한다.

배포는 계획 생성이 먼저이며, 파괴적 변경은 명시적으로 허용하지 않으면 생성 SQL에서 제외한다.

함께 제공하는 GitHub Action은 스키마 드리프트를 감지하고 PR에 배포 계획을 게시하지만 직접 적용하지 않는다.

원래 도구는 AWeber의 운영 스키마를 7년 넘게 관리했다. 이번 베타는 PostgreSQL 객체 지원 범위와 배포 수렴·안전성을 개선했으며 안정판 2.0은 준비 중이다.

누적된 마이그레이션 파일을 재구성하지 않고 현재 스키마를 검토할 수 있어, PR에서 구조 변경과 실제 DB의 차이를 함께 살피기 좋다.

원문