Utvecklingen av Postgres WASM-projektet, som utvecklar en miljö med PostgreSQL DBMS som körs i webbläsaren, har öppnats. Koden som är associerad med projektet är öppen källkod under MIT-licensen. Den erbjuder verktyg för att montera en virtuell maskin som körs i en webbläsare med en avskalad Linux-miljö, en PostgreSQL 14.5-server och relaterade verktyg (psql, pg_dump). Den slutliga byggstorleken är cirka 30 MB.
Den virtuella maskinen är byggd med buildroot-skript och lanseras i en webbläsare med en v86-emulator. Ett webbskal tillhandahålls för att interagera med PostgreSQL-verktyg från webbläsaren. För att komma åt PostgreSQL-servern som körs i webbläsaren över nätverket och utföra nätverksbegäranden från den virtuella maskinen, används en proxy som vidarebefordrar trafik med hjälp av Websocket API.
Huvuddragen hos Postgres WASM:
- Spara och återställa DBMS-tillstånd från en fil eller webbläsarbaserad lagring baserad på IndexedDB.
- Snabbstart från en fil med den virtuella maskinens sparade tillstånd eller full start med omstart av emulatorn.
- Möjlighet att allokera från 128 till 1024 MB minne till en virtuell maskin.
- Ställa in teckensnittsstorleken för webbterminalen.
- Stöd för uppladdning av filer till en virtuell miljö, inklusive möjligheten att ladda upp databasdumpar.
- Stöd för nedladdning av filer från en virtuell miljö.
- Etablera inkommande och utgående nätverksanslutningar, skapa en tunnel för vidarekoppling av samtal till nätverksport 5432.
Bland de möjliga tillämpningsområdena för Postgres WASM är skapandet av demonstrations- och utbildningssystem, organisera arbete med data i offlineläge, analysera data i offlineläge, testa PostgresSQL-funktionalitet och konfigurationer, skapa en lokal utvecklarmiljö, förbereda delar av en viss DBMS-tillstånd för att skicka till andra utvecklare eller supporttjänst, testa logisk replikering från externa DBMS.
Källa: opennet.ru