Проект Postgres WASM підготував оточення, що працює в браузері, з СУБД PostgreSQL

Відкрито напрацювання проекту Postgres WASM, що розвиває оточення з СУБД PostgreSQL, що працює всередині браузера. Пов'язаний із проектом код відкритий під ліцензією MIT. Пропонується інструментарій для складання віртуальної машини, що працює в браузері, з урізаним 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, створення локального оточення розробника, підготовка зрізів певного стану СУБД для відправки розробникам або у службу підтримки, тестування логічної реплікації із зовнішніх СУБД.

Проект Postgres WASM підготував оточення, що працює в браузері, з СУБД PostgreSQL


Джерело: opennet.ru

Додати коментар або відгук