
pgzx는 Zig로 PostgreSQL 확장을 개발할 때 필요한 오류 처리, 메모리 할당기, 래퍼와 개발 환경을 제공하는 라이브러리다. Xata 팀이 개발 중이며 PostgreSQL 15~18을 지원한다. PostgreSQL 14는 아직 지원하지 않고, 프로젝트는 큰 폭으로 개발 중이라 호환성을 깨는 변경과 불안정성이 있을 수 있다.
Nix flakes를 이용해 개발 의존성을 관리하며, 템플릿으로 새 확장을 시작할 수 있다. 자세한 설정과 빌드·테스트 방법은 저장소의 시작 안내와 개발 안내에 있다. 참조 문서와 예제 모음에는 SQL 함수 등록, 사용자 설정(GUC), 백그라운드 작업자, 배열, SPI, 사용자 정의 타입과 테스트 등의 사례가 담겼다.
pgzx는 PostgreSQL의 메모리 컨텍스트를 Zig 할당기로 감싸고, PostgreSQL 오류를 Zig 오류로 처리하는 기능 등을 제공한다. SQL 스키마를 Zig 선언에서 생성하는 기능도 있으며, 테스트는 pg_regress와 서버 내부 단위 테스트 방식으로 구성할 수 있다.
프로젝트 현황은 로드맵에서 확인할 수 있다. SQL/DDL 생성과 집합 반환 함수 등은 완료 항목에 포함돼 있지만, 일부 Datum 변환과 훅 등록 등은 개발 중이다. 트리거와 집계 함수, PostgreSQL 14 지원 등은 계획 항목으로 제시돼 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요