
Microsoft GitHub 공식 저장소와 프로젝트 문서에 따르면 pg_durable은 PostgreSQL 내부에서 장기 실행 SQL 함수를 내구성 있게 실행하기 위한 오픈소스 확장이다. 워크플로를 SQL로 정의하고, 단계별 실행 상태를 PostgreSQL에 체크포인트로 남겨 장애나 재시작 뒤에도 마지막 완료 지점부터 다시 이어가도록 설계됐다.
pg_durable은 cron 작업, 별도 작업 큐, 폴링 워커, 상태 테이블을 조합해 배치 작업을 관리하던 방식을 줄이는 데 초점을 맞춘다. 프로젝트 문서는 벡터 임베딩 파이프라인, 데이터 수집·정제 작업, 예약 유지보수, 병렬 집계, 외부 API 호출형 워크플로를 주요 활용 사례로 제시한다.
구조적으로는 PostgreSQL 확장과 백그라운드 워커를 기반으로 동작한다. 사용자는 SQL DSL의 조합 연산자로 작업 그래프를 만들고 df.start()로 실행을 시작한다. 이후 실행 상태와 결과는 PostgreSQL 테이블에서 조회할 수 있다. 저장소 설명에 따르면 PostgreSQL 17과 18을 대상으로 하며, Rust와 pgrx 기반으로 개발됐다.
이 접근은 애플리케이션 계층의 워커나 외부 오케스트레이션 서비스를 줄일 수 있다는 장점이 있지만, 모든 워크플로에 맞는 것은 아니다. 프로젝트 문서는 임의의 애플리케이션 로직, 비 HTTP SDK 호출, 복잡한 인메모리 제어 흐름이 필요한 작업은 SQL 함수나 HTTP 엔드포인트로 감싸야 하며, 경우에 따라 범용 오케스트레이터가 더 적합할 수 있다고 설명한다.
데이터베이스가 단순 저장소를 넘어 작업 실행과 복구의 중심으로 이동하는 흐름은 AI·데이터 파이프라인 운영에도 영향을 줄 수 있다. 특히 임베딩 생성, 배치 처리, 감사 가능한 운영 작업처럼 데이터와 실행 상태가 강하게 결합된 영역에서는 PostgreSQL 내부 실행 모델이 새로운 선택지가 될 수 있다.
출처: Microsoft pg_durable GitHub 저장소 https://github.com/microsoft/pg_durable
Microsoft pg_durable 문서 https://microsoft.github.io/pg_durable/