- 브라우저에서 직접 실행되는 Postgres 샌드박스로, AI 지원을 제공
- 무제한의 Postgres 데이터베이스를 즉시 생성 가능(곧 S3에도 배포 가능해짐)
- 각 데이터베이스는 대형 언어 모델(LLM)과 페어링되어 다양한 흥미로운 사용 사례를 제공함:
- CSV 파일 드래그 앤 드롭으로 테이블 생성
- 보고서 생성 및 내보내기
- 차트 생성
- 데이터베이스 다이어그램 작성
- 모든 작업은 브라우저 내에서 로컬로 수행됨
사용 데모
- CSV 파일을 빠르게 쿼리하고 시각화하고 싶을 때
- ChatGPT를 사용해 SQL을 작성하고 실제 데이터베이스에서 실행해 보고 싶을 때
- 새로운 프로젝트를 계획하고 데이터베이스 설계를 AI에게 맡기고 싶을 때
작동 방식
- 모든 쿼리는 브라우저 내에서 실행됨
- PGlite 덕분에 가능해짐. Postgres의 WASM 버전으로, 브라우저에서 직접 실행 가능함
개발 동기
- AI 기반 개발: Postgres와 AI의 상호작용을 재구상함
- Postgres 샌드박싱: 브라우저에서 빠르고 일회성으로 실행 가능
- 저렴한 데이터베이스: 저렴한 비용으로 많은 데이터베이스를 제공할 수 있는 잠재력
기능 및 작동 방식
AI 어시스턴트
- PGlite와 GPT-4o를 페어링하여 데이터베이스에 대한 완전한 권한을 부여함.
- AI가 여러 작업을 연속적으로 수행할 수 있어 더 인간적인 느낌을 줌.
CSV 가져오기 및 내보내기
- CSV 파일을 드래그 앤 드롭하여 자동으로 테이블 생성.
- AI가 CSV의 헤더와 샘플 행을 분석하여 데이터 유형을 결정함.
- SQL 오류가 발생하면 AI가 자체적으로 수정 시도.
차트
- "chart"라는 단어를 메시지에 추가하면 AI가 적절한 쿼리를 실행하고 차트를 생성함.
- Chart.js를 사용하여 차트를 렌더링함.
ER 다이어그램 및 마이그레이션
- AI가
CREATE및ALTER문을 생성하여 실제 데이터베이스에서 ER 다이어그램을 생성함. - 브라우저 호환 버전의 postgres-meta를 사용하여 PGlite 테이블을 JavaScript로 로드하고 스키마 시각화 도구를 사용하여 렌더링함.
시맨틱 검색 및 RAG
- pgvector 확장을 사용하여 브라우저 내에서 벡터 검색을 지원함.
- Transformers.js를 사용하여 텍스트 임베딩을 생성하고 PGlite에 저장 및 쿼리함.
배포
- PGlite 데이터베이스를 S3에 배포하여 저렴한 비용으로 다양한 사용 사례를 지원할 계획.
PGlite 심층 분석
PGlite란?
- PGlite는 Postgres의 WASM 빌드로, 브라우저, Node.js, Bun에서 실행 가능함.
- 유닛 테스트, 로컬 개발, 원격 개발 등에 이상적임.
데이터 지속성
- Node에서는 네이티브 파일 시스템, 브라우저에서는 IndexedDB와 OPFS를 지원함.
확장 지원
pgvector와live같은 유용한 확장을 지원함.
기술 개요
- Postgres의 단일 사용자 모드를 기반으로 하여 WASM에서 실행 가능하게 함.
- 다양한 Postgres 기능을 WASM에 맞게 수정함.
곧 출시 예정
- 데이터베이스를 S3에 배포하고 인터넷에서 접근 가능하게 할 예정.
- 더 많은 파일 형식 지원, 데이터베이스 공유, 데이터베이스 내보내기 기능 추가 예정.
오픈 소스
- 모든 작업은 오픈 소스로 제공됨:
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
GN⁺의 정리
- postgres.new는 브라우저에서 실행되는 Postgres 샌드박스로, AI 지원을 통해 데이터베이스 작업을 간편하게 수행할 수 있음.
- PGlite를 사용하여 빠르고 저렴한 데이터베이스 생성이 가능하며, 다양한 AI 기반 기능을 제공함.
- 데이터 시각화, ER 다이어그램 생성, 시맨틱 검색 등 다양한 기능을 통해 개발자들에게 유용한 도구가 될 수 있음.
- 유사한 기능을 제공하는 다른 프로젝트로는 Supabase, ElectricSQL 등이 있음.