WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能

2024年8月19日

PostgreSQLのソースコードをWebAssemblyバイナリとしてビルドしたことで、Node.jsなどのJavaScriptランタイムやWebブラウザ上で(ほぼ)フル機能のPostgreSQLを実行可能にした「PGlite」が公開されました。

PGLite

PGliteはPostgreSQLのCのソースをEmscriptenでコンパイル

PostgreSQLはオープンソースの代表的なリレーショナルデータベースであり、C言語で開発されています。

PGliteはこのPostgreSQLのCのソースコードのビルドにEmscriptenコンパイラを使用してWebAssemblyバイナリとして出力、JavaScript/TypeScriptからライブラリとして呼び出せるようにしたものです。

ただしEmscriptenでコンパイルされたプログラムは新しいプロセスをフォークできないため、PGliteはPostgreSQLのシングルユーザーモードを利用していると説明されています。

Node.js、Bun、そしてWebブラウザ上で実行可能

PGliteは依存するライブラリなどを追加インストールする必要はなく、単独でNode.js、Bun、そしてWebブラウザ上で実行可能です。ファイルサイズはGzip圧縮で3MB以下。

インメモリ上にその場限りとなるデータベースを作成できるだけでなく、Node.jsとBunではファイルアクセスAPIを利用して、WebブラウザではIndexedDBを利用して永続的なデータベースを作成できます。

また、PostgreSQLでベクトルデータの扱いを可能にする拡張機能である「pgvector」を始めとする多数のPostgreSQLの拡張機能にも対応するとのことです。

PGliteはJavaScript/WebAssemblyランタイム上で実行と破棄が簡単に行えることから、ローカル開発環境で利用するデータベースとしての利用、Webアプリケーションや小型デバイスなどへの組み込み、テスト環境やCI/CD環境などでの利用などが想定されています。

PGliteをブラウザですぐ試せる「postgres.new」

PGliteを開発したのはElectricSQL社ですが、PostgreSQLをベースにしたBaaS(Backend as a Service)の「Supabase」を開発し提供しているSupabase社が、PGLiteをすぐにWebブラウザで試せる「postgres.new」を発表しています。

あわせて読みたい

JavaScript PostgreSQL RDB WebAssembly Web技術 データベース プログラミング言語




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本