Otwarto opracowania projektu Postgres WASM, rozwijającego środowisko z bazą danych PostgreSQL, działającego w przeglądarce. Kod związany z projektem jest udostępniony na licencji MIT. Oferowany jest zestaw narzędzi do budowy działającej w przeglądarce wirtualnej maszyny z ograniczonym środowiskiem Linux, serwerem PostgreSQL 14.5 oraz towarzyszącymi narzędziami (psql, pg_dump). Rozmiar końcowej budowy wynosi około 30 MB.
Wnętrze wirtualnej maszyny jest formowane za pomocą skryptów buildroot i uruchamiane w przeglądarce z wykorzystaniem emulatora v86. Do interakcji z narzędziami PostgreSQL z poziomu przeglądarki dostarczana jest warstwa webowa. Do uzyskania dostępu do uruchomionego w przeglądarce serwera PostgreSQL w sieci i wykonywania zapytań sieciowych z wirtualnej maszyny używany jest proxy, przeprowadzający ruch za pomocą API Websocket.
Główne możliwości Postgres WASM:
- Zapis i odzyskiwanie stanu bazy danych z pliku lub przeglądarkowego magazynu opartego na IndexedDB.
- Szybkie uruchamianie z pliku ze zapisanym stanem wirtualnej maszyny lub pełne uruchamianie z restartem emulatora.
- Możliwość wydzielania maszynie wirtualnej od 128 do 1024 MB pamięci.
- Ustawienia rozmiaru czcionki w terminalu webowym.
- Wsparcie dla przesyłania plików do wirtualnego środowiska, w tym możliwością przesyłania zrzutów baz danych.
- Wsparcie dla pobierania plików z wirtualnego środowiska.
- Ustanawianie przychodzących i wychodzących połączeń sieciowych, tworzenie tunelu do przesyłania zapytań do portu sieciowego 5432.
Wśród możliwych obszarów zastosowania Postgres WASM wymienia się tworzenie systemów demonstracyjnych i edukacyjnych, organizację pracy z danymi w trybie offline, analizę danych podczas pracy offline, testowanie funkcjonalności i konfiguracji PostgreSQL, tworzenie lokalnego środowiska dla programisty, przygotowanie zrzutów określonego stanu bazy danych do wysłania innym programistom lub do wsparcia technicznego, testowanie replikacji logicznej z zewnętrznych baz danych.

Źródło: opennet.ru
