Selaimen sisällä toimivaa PostgreSQL DBMS -ympäristöä kehittävän Postgres WASM -projektin kehitystyöt ovat avoinna. Projektiin liittyvä koodi on avoimen lähdekoodin MIT-lisenssillä. Työkalusarjaa ehdotetaan sellaisen virtuaalikoneen rakentamiseen, joka toimii selaimessa, jossa on riisuttu Linux-ympäristö, PostgreSQL 14.5 -palvelin ja siihen liittyvät apuohjelmat (psql, pg_dump). Lopullisen kokoonpanon koko on noin 30 MB.
Virtuaalikoneen täyttö muodostetaan buildroot-skripteillä ja käynnistetään selaimessa v86-emulaattorilla. Web-kuori on tarkoitettu vuorovaikutukseen PostgreSQL-apuohjelmien kanssa selaimesta. Selaimessa toimivan PostgreSQL-palvelimen käyttämiseksi verkon yli ja verkkopyyntöjen suorittamiseksi virtuaalikoneelta käytetään välityspalvelinta, joka välittää liikenteen Websocket API:n avulla.
Postgres WASM:n tärkeimmät ominaisuudet:
- DBMS:n tilan tallentaminen ja palauttaminen tiedostosta tai selaimen tallennustilasta IndexedDB:n perusteella.
- Pikakäynnistys tiedostosta, jossa on tallennettu virtuaalikoneen tila, tai täydellinen käynnistys emulaattorin uudelleenkäynnistyksellä.
- Mahdollisuus varata 128–1024 Mt muistia virtuaalikoneen.
- Verkkopäätteen fonttikoon asetus.
- Tuki tiedostojen lataamiselle virtuaaliympäristöön, mukaan lukien mahdollisuus ladata tietokantavedoksia.
- Tuki tiedostojen lataamiseen virtuaaliympäristöstä.
- Saapuvien ja lähtevien verkkoyhteyksien luominen, tunnelin luominen pyyntöjen välittämiseksi verkkoporttiin 5432.
Postgres WASM:n mahdollisia sovelluksia ovat esittely- ja koulutusjärjestelmien luominen, tiedonkäsittelyn järjestäminen offline-tilassa, tietojen analysointi offline-tilassa, PostgresSQL:n toimivuuden ja konfiguraatioiden testaus, paikallisen kehittäjäympäristön luominen, tietyn tilan osien valmistelu. DBMS lähetettäväksi muille kehittäjille tai tukitiimille, jotka testaavat loogista replikointia ulkoisesta DBMS:stä.
Lähde: opennet.ru