Postgres.new - AIインターフェースを備えたブラウザ内Postgres
(supabase.com)- ブラウザで直接実行される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などがある。
3件のコメント
supabaseでしたね
PGLite - ブラウザで Postgres を実行する
Hacker Newsの意見
postgres.newを使って 3 つのデータベースを作成してみた体験を共有AI の限界を示す技術デモだと評価
"New database" ボタンをクリックしても何も起こらない
とても印象的
AI 機能なしでも使えるとよいという意見
このツールはデータベース設計に大いに役立つと評価
AI/LLM と既存ワークフローの結合には懐疑的だったが、このケースは悪くないと評価
Supabase のエンジニアとして、Electric チームと一緒にこのツールを開発するのは楽しかったとコメント
ノートPCまたはデスクトップで
postgres.newを使うよう案内