Адкрыты напрацоўкі праекта Postgres WASM, які развівае асяроддзе з СКБД PostgreSQL, якое працуе ўнутры браўзэра. Звязаны з праектам код адкрыты пад ліцэнзіяй MIT. Прапануецца інструментар для зборкі якая працуе ў браўзэры віртуальнай машыны c урэзаным Linux-асяроддзем, серверам PostgreSQL 14.5 і спадарожнымі ўтылітамі (psql, pg_dump). Памер выніковай зборкі каля 30 МБ.
Начынне віртуальнай машыны фармуецца пры дапамозе скрыптоў buildroot і запускаецца ў браўзэры з выкарыстаннем эмулятара v86. Для ўзаемадзеяння з утылітамі PostgreSQL з браўзэра пастаўляецца web-абалонка. Для звароту да запушчанага ў браўзэры сервера PostgreSQL па сетцы і выкананню сеткавых запытаў з віртуальнай машыны выкарыстоўваецца проксі, які прабівае трафік пры дапамозе API Websocket.
Асноўныя магчымасці Postgres WASM:
- Захаванне і аднаўленне стану СКБД з файла або браузернага сховішча на базе IndexedDB.
- Хуткі запуск з файла з захаваным станам віртуальнай машыны ці поўны запуск з перазагрузкай эмулятара.
- Магчымасць вылучэння віртуальнай машыне ад 128 да 1024МБ памяці.
- Настройка памеру шрыфта web-тэрмінала.
- Падтрымка загрузкі файлаў у віртуальнае асяроддзе, у тым ліку можна загружаць дампы БД.
- Падтрымка спампоўкі файлаў з віртуальнага асяроддзя.
- Ўстаноўка ўваходзяць і выходных сеткавых злучэнняў, стварэнне тунэля для пракіду зваротаў да сеткавага порта 5432.
Сярод магчымых абласцей ужывання Postgres WASM згадваецца стварэнне дэманстрацыйных і навучальных сістэм, арганізацыя працы з дадзенымі ў offline-рэжыме, аналіз дадзеных пры знаходжанні ў offline-рэжыме, тэставанне функцыянальнасці і канфігурацый PostgresSQL, стварэнне лакальнага асяроддзя распрацоўніка, падрыхтоўка зрэзаў вызначанага стану СКБД для адпраўкі распрацоўшчыкам або ў службу падтрымкі, тэсціраванне лагічнай рэплікацыі з знешніх СКБД.
Крыніца: opennet.ru