Sono disponibili le risorse del progetto Postgres WASM, che sviluppa un ambiente con il database PostgreSQL, funzionante all'interno del browser. Il codice associato al progetto è aperto con licenza MIT. È fornito un kit per costruire una macchina virtuale funzionante nel browser con un ambiente Linux ridotto, il server PostgreSQL 14.5 e utilità correlate (psql, pg_dump). La dimensione dell'assemblaggio finale è di circa 30 MB.
Il contenuto della macchina virtuale è generato tramite script buildroot e viene avviato nel browser utilizzando l'emulatore v86. Per interagire con le utilità PostgreSQL dal browser è fornita un'interfaccia web. Per accedere a PostgreSQL in esecuzione nel browser e per eseguire richieste di rete dalla macchina virtuale viene utilizzato un proxy che inoltra il traffico tramite l'API WebSocket. server Le principali funzionalità di Postgres WASM:
Salvataggio e ripristino dello stato del database da un file o da uno storage browser basato su IndexedDB.
- Avvio rapido da un file con stato salvato della macchina virtuale o avvio completo con riavvio dell'emulatore.
- da 128 a 1024 MB di memoria.
- Possibilità di creare macchina virtuale Impostazione della dimensione del font del terminale web.
- Настройка размера шрифта web-терминала.
- Supporto per il caricamento di file nell'ambiente virtuale, inclusa la possibilità di caricare dump di database.
- Supporto per il download di file dall'ambiente virtuale.
- Installazione di connessioni di rete in entrata e in uscita, creazione di un tunnel per veicolare le richieste alla porta di rete 5432.
Tra le possibili aree di applicazione di Postgres WASM si cita la creazione di sistemi dimostrativi e di formazione, l'organizzazione del lavoro con i dati in modalità offline, l'analisi dei dati mentre si è in modalità offline, il collaudo delle funzionalità e delle configurazioni di PostgreSQL, la creazione di un ambiente locale per sviluppatori, la preparazione di snapshot di uno specifico stato del DBMS da inviare ad altri sviluppatori o al supporto tecnico, il collaudo della replica logica da database esterni.

Fonte: opennet.ru
