Postgres WASM 專案開發了一個可在瀏覽器中運行的 PostgreSQL 資料庫管理系統環境,該專案已開源。相關程式碼以 MIT 許可證開源。目前已有工具可用於建置運行在瀏覽器中的精簡版虛擬機器。 Linux環境變數包括 PostgreSQL 14.5 伺服器及相關工具(psql、pg_dump)。最終建置大小約為 30 MB。
虛擬機器的內部結構使用 Buildroot 腳本創建,並在瀏覽器中透過 v86 模擬器運行。系統提供了一個 Web shell,用於從瀏覽器與 PostgreSQL 工具進行互動。要存取基於瀏覽器的應用程序, 伺服器 PostgreSQL 使用網路代理,並透過 Websocket API 從虛擬機執行網路請求並轉送流量。
Postgres WASM 的主要特點:
- 基於 IndexedDB 從文件或瀏覽器存儲中保存和恢復 DBMS 的狀態。
- 從保存了虛擬機狀態的文件快速啟動,或在模擬器重啟時完全啟動。
- 被選中的可能性 虛擬機 記憶體容量從 128 MB 到 1024 MB。
- Web 終端字體大小設置。
- 支持將文件上傳到虛擬環境,包括上傳數據庫轉儲的能力。
- 支持從虛擬環境下載文件。
- 建立傳入和傳出網絡連接,創建隧道以將請求轉發到網絡端口 5432。
Postgres WASM 的可能應用包括創建演示和培訓系統、在離線模式下組織數據工作、在離線模式下分析數據、測試 PostgresSQL 功能和配置、創建本地開發人員環境、準備特定狀態的切片用於發送給其他人、開發人員或支持團隊的 DBMS,用於測試來自外部 DBMS 的邏輯複製。

來源: opennet.ru
