pg-jev의 개요
pg-jev는 PostgreSQL에 jev(), jev_prob(), jev_choice(), jev_score() 같은 SQL 함수를 더합니다. WHERE jev(tickets, 'the customer is angry')라고 쓰면 각 행이 TypeSafe의 Jev로 보내지며, 이 결정 모델은 생성된 텍스트가 아니라 보정된 확률을 돌려줍니다. 색인, 임베딩, 벡터 열은 없으며, 설계상 전체 스캔입니다.
확장은 PL/Python으로 작성됐습니다. 테이블을 미리 읽고, 요청마다 행 20개를 묶고, 동시성 설정(기본 16)의 두 배까지 요청을 띄워 두며, 세션 동안 답을 캐시합니다. README는 2,000행 테이블을 첫 실행에서 약 3.5초와 $0.012, 캐시되면 약 50 ms로 측정합니다. 엔드포인트를 stuntd 같은 로컬 Jev 호환 서버로 지정하면 행이 네트워크를 떠나지 않습니다.
개발자 한 명의 프로젝트로, PostgreSQL License이며, 2026년 9월에 만들어졌고, 스타 약 1,238개와 커밋 13개가 있습니다. 최신 릴리스는 v0.2.1(2026년 10월 3일)이며 PGXN에도 공개됐습니다.
pg-jev, 쓸 만한 가치가 있습니까?
pg-jev는 좁은 일을 즐겁게 만듭니다. 티켓이 해지를 경고하는지, 어느 팀이 처리해야 하는지처럼 SQL로 표현할 수 없는 행에 관한 질문입니다. jev()는 평범한 불리언 함수이므로 조인, GROUP BY, LIMIT과 조합되며, 같은 WHERE 절의 더 싼 조건이 먼저 돌기 때문에 WHERE age > 60 AND jev(...)는 살아남은 행만 보냅니다.
엔지니어링 노트는 이 규모 프로젝트 대부분보다 낫습니다. 저자는 배치가 왜 20행인지 측정했습니다. 1에서 20행 배치는 정답 대비 완전히 맞았고, 40행은 92%에서 98%로, 80행은 77%에서 94%로 떨어졌습니다. README는 콜드 연결의 비용과, 세션별 캐시가 비우기 전까지 무한정 커진다는 점도 설명합니다. (프로젝트 웹사이트는 여전히 40행 배치와 동시 요청 여섯 개를 설명하며, README가 더 새것입니다.)
한계는 구조적입니다. 실행기가 묻는 모든 행이 API로 가므로, 큰 테이블에 부주의한 쿼리를 날리면 느리고 청구됩니다. 확장에는 plpython3u와 슈퍼유저가 필요해 Supabase, Neon, RDS와 대부분의 관리형 호스트에서는 쓸 수 없고, 함수는 서버의 운영체제 권한으로 돕니다. stuntd 같은 로컬 서버를 돌리지 않으면 행 내용은 제3자에게 갑니다.
또한 매우 어립니다. 커밋 13개, 관리자 한 명, 10월 초 이후 커밋 없음입니다. 예나 아니요가 아니라 유사도에 답하는 pgvector와 비교하면, pg-jev는 적당한 크기의 테이블에서 분류와 필터링에 맞는 도구이며, 다른 사람에게 접근 권한을 주기 전에 jev.max_rows_per_statement 같은 지출 방어 장치를 설정해야 합니다.
제 역할을 하는 곳
자체 호스팅 Postgres에 티켓 20,000건을 가진 지원 책임자
고객이 해지를 경고한 티켓 찾기
SQL로 날짜를 먼저 걸러 낸 뒤 ORDER BY jev_prob(tickets, ...) LIMIT 50을 씁니다. README의 2,000행당 약 $0.012 기준으로 전체 처리에 약 $0.12가 들고, 세션 안에서 다시 정렬하는 것은 무료입니다.
고객 데이터를 외부로 보낼 수 없는 회사의 데이터 엔지니어
들어오는 이메일을 청구, 기술, 영업으로 배분하기
jev.api_url을 로컬 stuntd 서버로 설정하고 선택지 세 개로 jev_choice()를 호출합니다. 행당 청구는 없지만, 로컬 서버의 정확도는 직접 확인해야 합니다.
Supabase를 쓰는 스타트업
관리자 쿼리에 자연어 필터 더하기
동작하지 않습니다. 관리형 호스트는 슈퍼유저와 plpython3u를 주지 않습니다. 자체 관리 Postgres나 Jev를 호출하는 별도 서비스가 필요합니다.
도입 전 확인할 점
- 설정
- plpython3u와 슈퍼유저가 있는 PostgreSQL 14에서 17이 필요합니다. pgxn install jev나 make install 후 CREATE EXTENSION jev CASCADE를 실행하고 TypeSafe API 키를 설정합니다. Docker 이미지와 skills.sh용 에이전트 스킬이 포함돼 있습니다.
- 연동
- 기본은 TypeSafe의 Jev API. stuntd처럼 POST /v1/systemone을 말하는 모든 서버. 테이블과 뷰에서 동작하며, 서브쿼리는 요청당 행 하나로 판단합니다.
- 데이터와 개인정보
- jev.api_url이 다른 곳을 가리키지 않으면 행 내용이 TypeSafe로 보내지고, 답은 백엔 드 세션에 캐시됩니다. plpython3u 함수는 서버의 OS 권한으로 돕니다. PostgreSQL License이며 TypeSafe와 무관합니다.
- 대규모 사용 시 비용
- TypeSafe가 토큰 단위로 청구합니다. README는 첫 실행에서 2,000행에 약 $0.012를 측정합니다. jev.max_rows_per_statement와 jev.max_chars_per_statement가 쿼리당 지출을 제한합니다.
- 제한
- 설계상 전체 스캔. 배치당 약 20행에서 25행을 넘으면 정확도 하락. 세션별 캐시는 비우기 전까지 무한정. 관리형 Postgres 미지원. 관리자 한 명.
좋은 점
- 평범한 SQL과 조합되는 평이한 문장 필터
- 문서에 측정된 배치, 캐시, 비용 수치
- 공유 데이터베이스를 위한 문장별 지출 방어
- 로컬 Jev 호환 서버를 지정 가능
아쉬운 점
- 전체 테이블 스캔, 모든 행이 API로 감
- 슈퍼유저와 plpython3u 필요, 관리형 Postgres 불가
- 기본적으로 행 데이터가 네트워크를 떠남
- 커밋 13개의 관리자 한 명
추천 대상
임베딩 파이프라인을 만들지 않고 수천 개의 행을 의미로 분류하거나 필터링하고 싶은, 자체 관리 Postgres를 쓰는 분석가와 개발자.
pg-jev 대안
pg-jev: 자주 묻는 질문
- pg-jev, 쓸 만한 가치가 있습니까?
- SQL로 테이블에 모호한 질문을 던지는 깔끔한 방법입니다. 단, 전체 스캔, 슈퍼유저 설치, 데이터베이스를 떠나는 행을 받아들여야 합니다. 평점은 5점 만점에 3.7점입니다.
- pg-jev의 가격은 얼마입니까?
- 무료(PostgreSQL License)입니다. 로컬 호환 서버를 지정하지 않으면 판단한 행마다 TypeSafe의 Jev API가 청구합니다.
- pg-jev의 단점은 무엇입니까?
- 전체 테이블 스캔, 모든 행이 API로 감; 슈퍼유저와 plpython3u 필요, 관리형 Postgres 불가; 기본적으로 행 데이터가 네트워크를 떠남; 커밋 13개의 관리자 한 명.
- pg-jev에 적합한 사람은 누구입니까?
- 임베딩 파이프라인을 만들지 않고 수천 개의 행을 의미로 분류하거나 필터링하고 싶은, 자체 관리 Postgres를 쓰는 분석가와 개발자.
- 팀이나 프로덕션 환경에서 pg-jev의 비용은 얼마입니까?
- TypeSafe가 토큰 단위로 청구합니다. README는 첫 실행에서 2,000행에 약 $0.012를 측정합니다. jev.max_rows_per_statement와 jev.max_chars_per_statement가 쿼리당 지출을 제한합니다.
- pg-jev에 회사 데이터를 맡겨도 안전합니까?
- jev.api_url이 다른 곳을 가리키지 않으면 행 내용이 TypeSafe로 보내지고, 답은 백엔드 세션에 캐시됩니다. plpython3u 함수는 서버의 OS 권한으로 돕니다. PostgreSQL License이며 TypeSafe와 무관합니다.
- pg-jev의 가장 좋은 대안은 무엇입니까?
- 저희가 리뷰한 것 중 가장 가까운 대안은 pgvector, AnyJev 및 Laya입니다.
답변 확인일: 2026년 10월 31일.
