Arbetet med projektet Postgres WASM har inletts, som utvecklar en miljö med databashanteraren PostgreSQL som körs i webblÀsaren. Koden kopplad till projektet Àr öppen under MIT-licensen. En uppsÀttning verktyg erbjuds för att bygga en fungerande virtuell maskin i webblÀsaren med ett nedskalat Linux-miljö, en PostgreSQL 14.5-server och relaterade verktyg (psql, pg_dump). Den slutgiltiga storleken pÄ byggsatsen Àr cirka 30 MB.
InnehÄllet i den virtuella maskinen skapas med hjÀlp av buildroot-skript och körs i webblÀsaren med emulatorn v86. För interaktion med PostgreSQL-verktygen i webblÀsaren levereras en webbgrÀnssnitt. För att ansluta till den som körs i webblÀsaren servern PostgreSQL över nÀtverket och för att utföra nÀtverksbegÀranden frÄn den virtuella maskinen anvÀnds en proxy som vidarebefordrar trafiken via API Websocket.
Huvudfunktionerna i Postgres WASM:
- Spara och ÄterstÀlla tillstÄndet för databashanteraren frÄn en fil eller webblÀsares lagring baserat pÄ IndexedDB.
- Snabb start frÄn en fil med sparat tillstÄnd för den virtuella maskinen eller en fullstÀndig start med omstart av emulatorn.
- Möjlighet till avskilda en virtuell maskin frÄn 128 till 1024 MB minne.
- InstÀllning av teckenstorleken i webterminalen.
- Stöd för filuppladdningar till den virtuella miljön, inklusive möjligheten att ladda upp databasdumpningar.
- Stöd för nedladdning av filer frÄn den virtuella miljön.
- InstÀllning av inkommande och utgÄende nÀtverksanslutningar, skapa en tunnel för att vidarebefordra förfrÄgningar till nÀtverksport 5432.
Bland de möjliga anvÀndningsomrÄdena för Postgres WASM nÀmns skapandet av demonstrations- och utbildningssystem, organisering av databehandling i offline-lÀge, datanalys i offline-lÀge, testning av funktionalitet och konfigurationer av PostgreSQL, skapande av en lokal utvecklingsmiljö, förberedelse av snitt av ett visst tillstÄnd av databashanteraren för att skicka till andra utvecklare eller till supportavdelningen, testande av logisk replikation med externa databashanterare.

KĂ€lla: opennet.ru
