I sviluppi di u prughjettu Postgres WASM, chì sviluppa un ambiente cù u DBMS PostgreSQL in esecuzione in u navigatore, sò stati aperti. U codice assuciatu cù u prugettu hè apertu sottu a licenza MIT. Offre strumenti per assemblà una macchina virtuale chì funziona in un navigatore cù un ambiente Linux spogliatu, un servitore PostgreSQL 14.5 è utilità cunnesse (psql, pg_dump). A dimensione finale di a creazione hè di circa 30 MB.
A macchina virtuale hè custruita cù script buildroot è lanciata in un navigatore cù un emulatore v86. Un web shell hè furnitu per interagisce cù l'utilità PostgreSQL da u navigatore. Per accede à u servitore PostgreSQL in esecuzione in u navigatore nantu à a reta è eseguisce richieste di rete da una macchina virtuale, un proxy hè utilizatu chì trasmette u trafficu cù l'API Websocket.
Caratteristiche principali di Postgres WASM:
- Salvà è restaurà u statu DBMS da un schedariu o almacenamentu basatu in navigatore basatu in IndexedDB.
- Lanciamentu rapidu da un schedariu cù u statu salvatu di a macchina virtuale o lanciamentu cumpletu cù reboot di l'emulatore.
- Capacità di assignà da 128 à 1024 MB di memoria à una macchina virtuale.
- Stabbilimentu di a dimensione di font di u terminal web.
- Supportu per a carica di fugliali in un ambiente virtuale, cumprese l'abilità di caricate dumps di basa di dati.
- Supportu per scaricà fugliali da un ambiente virtuale.
- Stabbilimentu di cunnessione di rete entranti è in uscita, creendu un tunnel per trasmette e chjama à u portu di rete 5432.
Trà i pussibuli spazii di applicazione di Postgres WASM sò a creazione di sistemi di dimostrazione è furmazione, urganizazione di u travagliu cù dati in modu offline, analisi di dati mentre in modu offline, teste di funziunalità PostgresSQL è cunfigurazioni, creazione di un ambiente di sviluppatore locale, preparazione di fette di un certu modu. Statu DBMS per mandà à altri sviluppatori o serviziu di supportu, testendu a replicazione logica da DBMS esterni.
Source: opennet.ru