# \[GN⁺\] Postgres.new: AI 인터페이스를 갖춘 브라우저 내 Postgres

**URL:** https://discuss.pytorch.kr/t/gn-postgres-new-ai-postgres/5038
**Category:** 읽을거리&정보공유
**Tags:** text-to-sql, ai, vector-db, postgres, pgvector, llm-in-production, vector-search, postgres-new, pg-gateway, transformers-js
**Created:** [8월 14, 2024, 3:50오전 UTC](https://discuss.pytorch.kr/t/gn-postgres-new-ai-postgres/5038 "2024-08-14T03:50:33Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![9bow](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/9bow/32/16301_2.png) [@9bow](https://discuss.pytorch.kr/u/9bow)
#### Post date: [8월 14, 2024, 3:50오전 UTC](https://discuss.pytorch.kr/t/gn-postgres-new-ai-postgres/5038/1 "2024-08-14T03:50:33Z")

</div>

## Postgres.new 소개

 ![[GN⁺] Postgres.new: AI 인터페이스를 갖춘 브라우저 내 Postgres](https://discuss.pytorch.kr/uploads/default/original/2X/5/534f84092df71f1c8bef1b7449746e37bf1b5f0d.png)

- 브라우저에서 직접 실행되는 Postgres 샌드박스로, AI 지원을 제공
- 무제한의 Postgres 데이터베이스를 즉시 생성 가능(곧 S3에도 배포 가능해짐)
- 각 데이터베이스는 대형 언어 모델(LLM)과 페어링되어 다양한 흥미로운 사용 사례를 제공함:
  - CSV 파일 드래그 앤 드롭으로 테이블 생성
  - 보고서 생성 및 내보내기
  - 차트 생성
  - 데이터베이스 다이어그램 작성

- 모든 작업은 브라우저 내에서 로컬로 수행됨

### 사용 데모

[![](https://img.youtube.com/vi/ooWaPVvljlU/maxresdefault.jpg "I gave AI full control over my database (postgres.new)") ](https://www.youtube.com/watch?v=ooWaPVvljlU)

- CSV 파일을 빠르게 쿼리하고 시각화하고 싶을 때
- ChatGPT를 사용해 SQL을 작성하고 실제 데이터베이스에서 실행해 보고 싶을 때
- 새로운 프로젝트를 계획하고 데이터베이스 설계를 AI에게 맡기고 싶을 때

### 작동 방식

- 모든 쿼리는 브라우저 내에서 실행됨
- PGlite 덕분에 가능해짐. Postgres의 WASM 버전으로, 브라우저에서 직접 실행 가능함

### 개발 동기

1. **AI 기반 개발** : Postgres와 AI의 상호작용을 재구상함
2. **Postgres 샌드박싱** : 브라우저에서 빠르고 일회성으로 실행 가능
3. **저렴한 데이터베이스** : 저렴한 비용으로 많은 데이터베이스를 제공할 수 있는 잠재력

### 기능 및 작동 방식

#### AI 어시스턴트

- PGlite와 GPT-4o를 페어링하여 데이터베이스에 대한 완전한 권한을 부여함.
- AI가 여러 작업을 연속적으로 수행할 수 있어 더 인간적인 느낌을 줌.

#### CSV 가져오기 및 내보내기

- CSV 파일을 드래그 앤 드롭하여 자동으로 테이블 생성.
- AI가 CSV의 헤더와 샘플 행을 분석하여 데이터 유형을 결정함.
- SQL 오류가 발생하면 AI가 자체적으로 수정 시도.

#### 차트

 ![Postgres.new - Chart Feature](https://discuss.pytorch.kr/uploads/default/original/2X/1/1d74c5d6f2e3b7121960cf51d9fee91fa8d4efd6.jpeg)

- "chart"라는 단어를 메시지에 추가하면 AI가 적절한 쿼리를 실행하고 차트를 생성함.
- Chart.js를 사용하여 차트를 렌더링함.

#### ER 다이어그램 및 마이그레이션

 ![Postgres.new - ERD Feature](https://discuss.pytorch.kr/uploads/default/original/2X/0/0c7b2456f561cf3ff9974bb747e88bd187121b5c.jpeg)

- AI가 `CREATE` 및 `ALTER` 문을 생성하여 실제 데이터베이스에서 ER 다이어그램을 생성함.
- 브라우저 호환 버전의 postgres-meta를 사용하여 PGlite 테이블을 JavaScript로 로드하고 스키마 시각화 도구를 사용하여 렌더링함.

#### 시맨틱 검색 및 RAG

 ![Postgres.new - RAG Feature](https://discuss.pytorch.kr/uploads/default/original/2X/d/dae49b0c91fc225be982cf69fc4a5387ea2293de.jpeg)

- pgvector 확장을 사용하여 브라우저 내에서 벡터 검색을 지원함.
- Transformers.js를 사용하여 텍스트 임베딩을 생성하고 PGlite에 저장 및 쿼리함.

#### 배포

 ![Postgres.new - Deployment](https://discuss.pytorch.kr/uploads/default/original/2X/7/79ed4252e30e0e75477fc0aaa93e754413a81d8c.jpeg)

- PGlite 데이터베이스를 S3에 배포하여 저렴한 비용으로 다양한 사용 사례를 지원할 계획.

### PGlite 심층 분석

#### PGlite란?

- [PGlite](https://pglite.dev/)는 Postgres의 WASM 빌드로, 브라우저, Node.js, Bun에서 실행 가능함.
- [ElectricSQL](https://electric-sql.com/)에서 개발하였으며, 유닛 테스트, 로컬 개발, 원격 개발 등에 이상적임.

#### 데이터 지속성

- 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 등이 있음.

### [Hacker News 의견](https://news.ycombinator.com/item?id=41224286)

- postgres.new를 사용해 3개의 데이터베이스를 생성해본 경험 공유
  - 고객 주문 데이터베이스, 이슈 추적 시스템, 가족 관계 모델을 성공적으로 생성함
  - 가족 관계 모델에서 사촌과 삼촌을 포함한 복잡한 관계도 잘 처리함
  - 상호 관계(예: 형제 관계)가 일부 누락되었으나, 데이터 검토 요청 후 수정됨
  - 매우 유용한 도구로 평가함

- AI의 한계를 보여주는 기술 데모로 평가함
  - 유효하지 않은 SQL을 생성하여 오류 발생
  - 생성된 SQL이 단절된 테이블 세트를 생성함
  - 모든 코드를 검토해야 하는 필요성 언급
  - 새로운 시스템은 종종 추상적이거나 스마트한 요소가 필요하지만, 이 시스템은 단순한 시스템만 생성함
  - 직접 코드를 작성하는 것이 더 쉬움
  - 조직 내에서 LLM 병합 요청을 금지함, 코드가 최적화되지 않고 버그가 많았음
  - 현재 LLM 디자인으로는 극복하기 어려움

- "New database" 버튼 클릭 시 아무런 변화가 없음
  - Github에 로그인하지 않았지만, AI 기능을 사용하지 않으려는 의도였음
  - chatGPT가 필수라는 점에 실망함
  - 로컬 우선 접근 방식을 AI로 제한하는 것에 불만

- 매우 인상적임
- AI 기능 없이 사용할 수 있으면 좋겠다는 의견
  - WASM 빌드가 Postgres를 임베디드 DB로 사용할 수 있게 하는지 질문

- 이 도구가 데이터베이스 설계에 큰 도움이 된다고 평가
  - 기존 데이터베이스 스키마를 다이어그램으로 그릴 수 있는지 질문
  - Supabase 마이그레이션 스타일이나 Flyway 같은 도구로 개발된 스키마를 다이어그램으로 표현하는 기능이 기업 환경에서 큰 도움이 됨

- AI/LLM과 기존 워크플로우 결합에 대해 회의적이었으나, 이 경우는 괜찮다고 평가
  - LLM이 데이터베이스에 삽입할 데이터를 생성하는 데 유용함
  - 모바일에서 사용하지 못하는 이유를 이해하지만, 모바일 사용자에게 요약 정보를 제공해달라는 요청

- Supabase 엔지니어로서 Electric 팀과 함께 이 도구를 개발하는 것이 재미있었다고 언급
  - 기술적 장애물을 극복하는 과정이 있었음
  - 피드백을 반영하여 계속 개선할 예정

- 노트북이나 데스크탑에서 postgres.new를 사용하라는 안내
  - Webkit/Safari를 사용하는 데 문제가 없다고 언급

## 원문

> **[postgres.new: In-browser Postgres with an AI interface](https://supabase.com/blog/postgres-new)**
>
> Introducing postgres.new, the in-browser Postgres sandbox with AI assistance.

## 출처 / [GeekNews](https://news.hada.io/topic?id=16310)

> **[Postgres.new - AI 인터페이스를 갖춘 브라우저 내 Postgres | GeekNews](https://news.hada.io/topic?id=16310)**
>
> 브라우저에서 직접 실행되는 Postgres 샌드박스로, AI 지원을 제공무제한의 Postgres 데이터베이스를 즉시 생성 가능(곧 S3에도 배포 가능해짐)각 데이터베이스는 대형 언어 모델(LLM)과 페어링되어 다양한 흥미로운 사용 사례를 제공함:CSV 파일 드래그 앤 드롭으로 테이블 생성보고서 생성 및 내보내기차트 생성데이터베이스 다이어그램 작성모든 작업은

## 더 읽어보기: 관련 오픈소스 프로젝트들

- [PGlite](https://github.com/electric-sql/pglite) (Apache 2.0): A WASM build of Postgres.

- [pg-gateway](https://github.com/supabase-community/pg-gateway) (MIT): Postgres wire protocol for the server-side.

- [postgres-new](https://github.com/supabase-community/postgres-new) (Apache 2.0): The frontend for [postgres.new](https://postgres.new/).

- [transformers.js](https://github.com/xenova/transformers.js): Run Transformers directly in your browser

* * *

### **ℹ 알려드립니다**

이 글은 국내외 IT 소식들을 공유하는 [GeekNews](https://news.hada.io/)의 운영자이신 [xguru](https://news.hada.io/user?id=xguru)님께 허락을 받아 GeekNews에 게제된 AI 관련된 소식을 공유한 것입니다.

출처의 [GeekNews](https://news.hada.io/) 링크를 방문하시면 이 글과 관련한 추가적인 의견들을 보시거나 공유하실 수 있습니다! 😉

🎁 아래↘쪽에 좋아요❤를 눌러주시면 새로운 소식을 정리하고 공유하는데 힘이 됩니다~ 🤩
